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
Regex 需要使用正则表达式选择多个字符_Regex - Fatal编程技术网

Regex 需要使用正则表达式选择多个字符

Regex 需要使用正则表达式选择多个字符,regex,Regex,我有这样一句话: "Reentry BUY AUDUSD @ 0.90209 " 我想用正则表达式提取“aududs” (.*?)@ 我想从“@”的左边选择7个字符,以便提取“AUDUSD”。模式匹配并将除换行符以外的任何零个或多个字符捕获到第1组中,从最左边的匹配开始,尽可能少,因此,您可以从@字符所在的行的开头开始进行匹配 您需要使用更精确的模式: \w+(?=\s*@) [A-Z]+(?=\s*@) ([A-Z]+) @ 看。在前两个示例中,您需要的值在整个匹配中落地,在第三个示例中

我有这样一句话:

"Reentry BUY AUDUSD @ 0.90209 "
我想用正则表达式提取“aududs”

(.*?)@
我想从“@”的左边选择7个字符,以便提取“AUDUSD”。

模式匹配并将除换行符以外的任何零个或多个字符捕获到第1组中,从最左边的匹配开始,尽可能少,因此,您可以从
@
字符所在的行的开头开始进行匹配

您需要使用更精确的模式:

\w+(?=\s*@)
[A-Z]+(?=\s*@)
([A-Z]+) @
看。在前两个示例中,您需要的值在整个匹配中落地,在第三个示例中,值在组1中捕获

详细信息

  • \w+(?=\s*@)
    -1+字母/数字/下划线,后跟0+空格和
    @
  • [A-Z]+(?=\s*@)
    -1+大写ASCII字母,后跟0+空格和
    @
  • ([A-Z]+)@
    -捕获组1匹配1+大写ASCII字母,然后匹配空格和
    @
    (但未捕获)
模式匹配并将除换行符以外的任何零个或多个字符捕获到组1中,尽可能少,从最左边的匹配开始,因此您可以从
@
字符所在的行开始进行匹配

您需要使用更精确的模式:

\w+(?=\s*@)
[A-Z]+(?=\s*@)
([A-Z]+) @
看。在前两个示例中,您需要的值在整个匹配中落地,在第三个示例中,值在组1中捕获

详细信息

  • \w+(?=\s*@)
    -1+字母/数字/下划线,后跟0+空格和
    @
  • [A-Z]+(?=\s*@)
    -1+大写ASCII字母,后跟0+空格和
    @
  • ([A-Z]+)@
    -捕获组1匹配1+大写ASCII字母,然后匹配空格和
    @
    (但未捕获)
你的意思是
\w+(?=\s*@)
<代码>[A-Z]+(?=*@)<代码>([A-Z]+)*@?您的意思是
\w+(?=\s*@)
<代码>[A-Z]+(?=*@)<代码>([A-Z]+)*@?