在 " 和 ( 但不在 "" 之前捕获感叹号 (RegEx)
Capture exclamation mark before " and ( but not inside "" (RegEx)
如何在 "
和 (
之前捕获感叹号 !
,但不在两个双引号 "
内?
前面的前提是可以的,但是后面的那个感叹号不应该在双引号里面,应该加上:
\s*([\!])\s*(")|\s*([\!])\s*(\()
给定输入:( ! "A" ! (!"B" "C" " ! ( "))
预期输出:( ! "A" ! ( ! "B" "C" " ! ( "))
如果我理解你是对的,那么你想要 一个 space 引号外的感叹号 .
这个正则表达式应该可以完成工作:
\G[^"]*?\K(?:\s*!\s*(?=["(]))([^"!]*(?:"[^"]*")?)
您可以在此处找到对正则表达式的解释:
关于替换,您可以在这里查看:
https://regex101.com/r/dzwTUp/1
如何在 "
和 (
之前捕获感叹号 !
,但不在两个双引号 "
内?
前面的前提是可以的,但是后面的那个感叹号不应该在双引号里面,应该加上:
\s*([\!])\s*(")|\s*([\!])\s*(\()
给定输入:( ! "A" ! (!"B" "C" " ! ( "))
预期输出:( ! "A" ! ( ! "B" "C" " ! ( "))
如果我理解你是对的,那么你想要 一个 space 引号外的感叹号 .
这个正则表达式应该可以完成工作:
\G[^"]*?\K(?:\s*!\s*(?=["(]))([^"!]*(?:"[^"]*")?)
您可以在此处找到对正则表达式的解释:
关于替换,您可以在这里查看: https://regex101.com/r/dzwTUp/1