Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式-忽略引号_Regex - Fatal编程技术网

Regex 正则表达式-忽略引号

Regex 正则表达式-忽略引号,regex,Regex,我在用正则表达式 (?:^|;)\s*([^=]*[^=\s])\s*=\s*([^;]*[^;\s]) 在下面的字符串上 """A"" = .B; ""C"" = .D; ""E"" = .F" 第二个捕获组([^;]*[^;\s])匹配文本.B、.D和.F”,而第一个捕获组匹配文本“A”、“C”和“E” 如何更新此正则表达式以仅匹配文本,即.B,.D和.F,以及A,C和e 我已经尝试将引号添加到捕获组中,例如,([^=\“]*[^=\s]),但这似乎没有任何影响。您可以在键值之前匹配零个

我在用正则表达式

(?:^|;)\s*([^=]*[^=\s])\s*=\s*([^;]*[^;\s])
在下面的字符串上

"""A"" = .B; ""C"" = .D; ""E"" = .F"
第二个捕获组
([^;]*[^;\s])
匹配文本
.B
.D
.F”
,而第一个捕获组匹配文本
“A”
“C”
“E”

如何更新此正则表达式以仅匹配文本,即
.B
.D
.F
,以及
A
C
e


我已经尝试将引号添加到捕获组中,例如,
([^=\“]*[^=\s])
,但这似乎没有任何影响。

您可以在键值之前匹配零个或多个引号,然后通过将其添加到类中并在紧跟其后再次匹配0+引号来限制
[^=\s]
字符类以避免匹配

(?:^|;)\s*"*([^=]*[^=\s"])"*\s*=\s*([^;]*[^;\s"])
          ^^           ^  ^^                  ^
请参阅。注意,
[^;]*
也将匹配双引号(如果有),因为它是一种贪婪模式

详细信息

  • (?:^ |)
    -字符串的开头或
  • \s*
    -0+空格
  • *-0+双引号
  • ([^=]*[^=\s“])
    -第1组:
    • [^=]*
      -0+字符,而不是
      =
    • [^=\s”]
      -除
      =
      、空格和
  • *-0+双引号
  • \s*=\s*
    -a
    =
    包含0+空格
  • ([^;]*[^;\s“])
    -第2组:
    • [^;]*
      -0+字符,而不是
    • [^;\s”]
      -除
      以外的字符、空格和