我正在为Brackets编写CodeMirror扩展。要定义SimpleCodeMode,我需要进行一些模式匹配,并且我想弄清楚如何实现$ subject。
e.g。
匹配所有html标记的<
<body>
并忽略后跟<%
<% if %>
注意:我只想获得它的起始<
如果有人可以帮助我,那将是一个很大的帮助。如果您需要更多详细信息,请告诉我。
谢谢!
答案 0 :(得分:4)
虽然这似乎是一个坏主意,但我可以看到两种方法:
<
后跟除%
字符之外的任何内容,然后忽略它 (<)(?:[^%])
[^]
序列允许您搜索除以下字符之外的任何内容。
(?:)
序列适用于非捕获组。
<(?!%)
(?!)
序列如果与下一个字符不匹配,则会成功,但不会被捕获。
%>
执行此操作,则可以“反转”第一个选项: (?:[^%])(>)
(小心这里,前瞻不会起作用,因为你需要倒退)
(?<!%)>