1
2
如果您的工具/编辑器支持look aheads,您可以尝试:
这意味着:
纯英语:只有在字符串“firstname”(不区分大小写)前面有零个或偶数个双引号,直到行尾时,它才与字符串“firstname”匹配。 请注意,如果您的行以注释结尾,并且注释中有引号,则它将失败! |
2
0
regexp不区分上下文,因此很难做到这一点。 |
3
0
如果你总是期待
否则,如果您不能保证右引号的位置,那么使用regex将不是理想的选择。
或者你可以把注意力集中在
|
4
0
正则表达式本身不 做 东西,他们 接受 串。类正则表达式
无论使用何种情况,都将接受字符串“firstname”。然后用所选语言编写一个替换操作,以替换用“firstname”识别的字符串。您可能会发现所选正则表达式实现具有不区分大小写的匹配功能,这将简化正则表达式。 问题在于,如果firstname在表达式中的位置不正确,则不能修改它的大小写——即如何更改示例中firstname的第一个匹配项,而不是第二个匹配项。在sed中很简单,因为默认情况下,它只在第一次匹配一行regex时进行替换。在VBA我一点也不知道。 你的规则是:
? 如果第三个可能有问题,如果“”可以嵌套。regex不能真正处理任意深度的括号嵌套(不管用什么字符来括起来),尽管有些实现有办法绕过这个限制。但是,如果您发现自己试图编写一个正则表达式来匹配特定数量的匹配方括号中的字符串,则可以确定您使用了错误的工具。 编辑:在第三种情况下,将我的regex修改为
它应该与任何出现在firstname前面的 |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |