【发布时间】:2016-01-16 00:44:58
【问题描述】:
我尝试实现词法分析器并尝试创建正则表达式,它将匹配任何内容,但不匹配以下内容:
- {{
- {%
我正在尝试:
[^(<|{{|{%)]+
但它也不看蚂蚁单“{”和“%”符号。
可以用正则表达式吗?
输入:“foo {{ bar
【问题讨论】:
-
所以假设文本是
a {{ b。从头开始,有一个子字符串a {,不包含<,不包含{{,不包含{%。所以按照你的逻辑应该匹配。但我很确定这不是你想要的。 (如果您认为我过于字面,请记住,如果您创建的正则表达式在您的问题中具有确切的标准,那么这种过于字面的解释正是计算机会给出的。) -
前瞻?我只需要匹配“a”和“b”。
-
我猜你会想要“a”和“b”,但是是的,无论哪种方式,都可以通过前瞻来实现。但我认为最简单的方法是做 mevdschee 回答的事情。
-
那不是一个选项然后你创建词法分析器(如 flex)。
标签: regex