Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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_Regex Group - Fatal编程技术网

Regex 正则表达式多行

Regex 正则表达式多行,regex,regex-group,Regex,Regex Group,我有以下案文: text1 without brackets text2 (with brackets) 我每行需要两组人: group#1: text1 without brackets group#2: group#1: text2 group#2: with brackets 以下是此示例的链接: 谢谢你的帮助 您可以使用 ^(.*?)(?:\s*\(([^()]*)\))?$ 请参阅和: 详细信息 ^-字符串的开头 (.*)-第1组:尽可能多的0个字符 (?:\s*\([^(

我有以下案文:

text1 without brackets
text2 (with brackets)
我每行需要两组人:

group#1: text1 without brackets
group#2: 
group#1: text2
group#2: with brackets
以下是此示例的链接:

谢谢你的帮助

您可以使用

^(.*?)(?:\s*\(([^()]*)\))?$
请参阅和:

详细信息

  • ^
    -字符串的开头
  • (.*)
    -第1组:尽可能多的0个字符
  • (?:\s*\([^()]*)\)?
    -至少尝试一次的可选模式序列:
    • \s*
      -0+空格
    • \(
      -a
      字符
    • ([^()]*)
      -第2组:0+字符,而不是
    • \)
      -a
      字符
  • $
    -字符串的结尾
尝试模式:
([^(\n]+)(?:\n\\([^)]+)

说明:

([^(\n]+)
-第一个捕获组:匹配除
\n
以外的一个或多个字符,以便在打开括号或换行符之前匹配所有字符

(?:…)
-用于利用交替,而不是创建第二个捕获组

\n |\([^)]+)
-匹配换行符或括号
和除右括号以外的一个或多个字符
将其存储到第二个捕获组中