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
Php 正则表达式:如何在<&燃气轮机&引用;_Php_Regex_Email_C#_Javascript_Python - Fatal编程技术网

Php 正则表达式:如何在<&燃气轮机&引用;

Php 正则表达式:如何在<&燃气轮机&引用;,php,regex,email,c#,javascript,python,Php,Regex,Email,C#,Javascript,Python,在下面的字符串中 杰森 如何提取尖括号内的零件。 我试过了,但没有成功 想法? 如果有区别的话,我在php中使用preg_match() 我想补充一下为什么您的正则表达式不起作用: \w是字符类[a-zA-Z0-9\的缩写,与该类中的任何字符匹配。要匹配更多字符,需要使用量词: +用于一个或多个 *用于零或更多 由于要提取与模式匹配的字符串,因此需要将模式括在括号中(..),以便捕获它 现在,您最初的任务是提取之间的字符串,正则表达式将不执行此任务,因为char类\w不包括@ 要匹配任何内容

在下面的字符串中

杰森

如何提取尖括号内的零件。 我试过了,但没有成功

想法?
如果有区别的话,我在php中使用preg_match()

我想补充一下为什么您的正则表达式不起作用:

\w
是字符类
[a-zA-Z0-9\
的缩写,与该类中的任何字符匹配。要匹配更多字符,需要使用量词:

  • +
    用于一个或多个
  • *
    用于零或更多
由于要提取与模式匹配的字符串,因此需要将模式括在括号中
(..)
,以便捕获它

现在,您最初的任务是提取
之间的字符串,正则表达式
将不执行此任务,因为char类
\w
不包括
@

要匹配任何内容,请使用regex
*
,它匹配任何任意字符串(不带换行符)

因此正则表达式匹配并捕获角括号之间的任何字符串


匹配是贪婪的,因此如果输入字符串是
foo,bar
,您将提取
foo@foo.com>,条以获取
之间的匹配,中间没有
(注意
类似
x.Groups[1].Value)。ToList()
  • -
    const matches=[…Array.from(text.matchAll(//g),x=>x[1])]
  • -
    $res=preg\u match\u all(“~~”,$text,$matches)$匹配[1]:“”
  • -
    res=re.findall(r'',文本)

  • 使用
    ]+)>
    。它会更快。这是一种高质量的回答,虽然它没有直接回答特定的问题,但通过解释原因特别有帮助,值得投票。非常感谢。