我正在使用 C# 在 Visual Studios 2013 Express 中编写正则表达式。我试图在每个包含单词和 !@#$%^&*()_- 的字符串周围加上单引号,除了:
- 和
- 或
- 不是
- 空()
- notempty()
- 当前日期()
- 任何已经用单引号引起来的字符串。
这是我的正则表达式及其作用的示例: https://regex101.com/r/nI1qP0/1
我只想在捕获组两边加上单引号,而让非捕获组保持不变。我知道这可以通过环顾四周来完成,但我不知道怎么做。
请您参考如下方法:
你可以使用这个正则表达式:
(?:'[^']*'|(?:\b(?:(?:not)?empty|currentdate)\(\)|and|or|not))|([!@#$%^&*_.\w-]+)
此处忽略的匹配项不会被捕获,可以使用 Match.Groups[1] 检索要引用的词。然后,您可以在 Match.Groups[1] 周围添加引号,并根据需要替换整个输入。
