繁体   English   中英

正则表达式匹配一个字符,该字符后面没有其他特定字符

[英]Regex Match a character which is not followed by another specific character

我正在为托架编写CodeMirror扩展。 为了定义defineSimpleCodeMode,我需要进行一些模式匹配,并且试图弄清楚如何实现$ subject。

例如

匹配所有html标签中的<

<body>

并忽略后跟<% html标签

<% if %> 

注意:我只想开始它的<

如果有人可以帮助我,那将是一个很大的帮助。 如果您需要更多详细信息,请告诉我。

谢谢!

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

1.搜索<后跟除%字符以外的任何字符,然后忽略它

(<)(?:[^%])

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

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

2.(更好的话,如果支持的话)搜索输入时不带负前瞻的%

<(?!%)

如果(?!)序列与以下字符不匹配但未被捕获,则序列成功。

如果您还想对%>执行此操作,则可以“撤消”第一个选项:

(?:[^%])(>)

或者您需要在后面留下负面印象:

(请注意,提前行将无法使用,因为您需要向后移动)

(?<!%)>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM