匹配后面没有另一个特定字符的字符

Regex Match a character which is not followed by another specific character

本文关键字:字符 另一个      更新时间:2023-09-26

我正在为括号写一个CodeMirror扩展。要定义implecodemode,我需要做一些模式匹配,我正试图找出如何实现$subject。

匹配所有html标签的<

<body>

并忽略后跟<%

的html标签。
<% if %> 

注意:我只想得到它的起始<

如果有人能帮助我,那将是一个很大的帮助。如果您需要更多的细节,请告诉我。

谢谢!

虽然这似乎是一个坏主意,但我可以看到两种方法:

<标题> 1。在%字符之后搜索<,然后忽略它

(<)(?:[^%])

[^]序列允许您搜索除以下字符以外的任何字符。

(?:)序列用于非捕获组。

<标题> 2。(如果支持,更好)搜索不跟在%后面并带负前向的输入

<(?!%)

如果(?!)序列与后面的字符不匹配,但没有被捕获,则该序列成功。

如果你也想为%>做这件事,你可以"反转"第一个选项:

(?:[^%])(>)

或者你需要一个消极的向后看:

(这里要注意,当你需要向后看时,向前看不起作用)

(?<!%)>

相关文章: