|
|
1
2
如果您的工具/编辑器支持look aheads,您可以尝试:
这意味着:
纯英语:只有在字符串“firstname”(不区分大小写)前面有零个或偶数个双引号,直到行尾时,它才与字符串“firstname”匹配。 请注意,如果您的行以注释结尾,并且注释中有引号,则它将失败! |
|
|
2
0
regexp不区分上下文,因此很难做到这一点。 |
|
|
3
0
如果你总是期待
否则,如果您不能保证右引号的位置,那么使用regex将不是理想的选择。
或者你可以把注意力集中在
|
|
4
0
正则表达式本身不 做 东西,他们 接受 串。类正则表达式
无论使用何种情况,都将接受字符串“firstname”。然后用所选语言编写一个替换操作,以替换用“firstname”识别的字符串。您可能会发现所选正则表达式实现具有不区分大小写的匹配功能,这将简化正则表达式。 问题在于,如果firstname在表达式中的位置不正确,则不能修改它的大小写——即如何更改示例中firstname的第一个匹配项,而不是第二个匹配项。在sed中很简单,因为默认情况下,它只在第一次匹配一行regex时进行替换。在VBA我一点也不知道。 你的规则是:
? 如果第三个可能有问题,如果“”可以嵌套。regex不能真正处理任意深度的括号嵌套(不管用什么字符来括起来),尽管有些实现有办法绕过这个限制。但是,如果您发现自己试图编写一个正则表达式来匹配特定数量的匹配方括号中的字符串,则可以确定您使用了错误的工具。 编辑:在第三种情况下,将我的regex修改为
它应该与任何出现在firstname前面的 |
|
|
Xianzhi Li · 自动热键v2脚本|复制、打开应用程序、粘贴 1 年前 |
|
|
wetin · AHK Gui没有更新选项卡宽度 2 年前 |
|
|
WoJ · 如何构建文本块并在其中导航? 3 年前 |
|
|
asad41163 · 自动热键:比较两个卷-结果中出现错误 7 年前 |
|
|
Aleksandr Makov · 如何并行启动2个循环? 7 年前 |
|
|
LosManos · 带和不带大括号的自动热键if语句 7 年前 |