如何解决正则表达式修改php
| 我有这个正则表达式:/\\*([^<|\\n|\\r]+)/
它匹配以*开头并以新行或\'<\'结尾的字符串中的所有字符,我如何修改此正则表达式以使其不匹配以**开头的字符串(因此,如果第二个字符也是*)
解决方法
您需要的是负面的环境。
/(?<!\\*)\\*(?!\\*)([^<\\n\\r]+)/
同样,[^<|\\n|\\r]
并没有您认为的那样。它将匹配非<
,\\n
,\\r
或文字|
的任何字符。除非要匹配文字|
,否则在字符类中不需要|
。
, 我认为这应该有效。这称为“零宽度否定超前断言”
/\\*(?!\\*)([^<|\\n|\\r]+)/
, /\\*[^\\*]([^<|\\n|\\r]+)/
该更改有效地表示\“匹配*,但仅当下一个字符不是* \时才匹配”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。