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 - Fatal编程技术网

Regex 要匹配名称的正则表达式模式

Regex 要匹配名称的正则表达式模式,regex,Regex,按照这种模式: : Dog 172 Network type : Infrastructure Authentication : WPA2-Personal Encryption : CCMP BSSID 1 : FF:FF:FF:FF:FF:FF Signal : 91% Radio type

按照这种模式:

: Dog 172     Network type            : Infrastructure     Authentication          : WPA2-Personal     Encryption              : CCMP      BSSID 1                 : FF:FF:FF:FF:FF:FF          Signal             : 91%            Radio type         : 802.11n          Channel            : 1           Basic rates (Mbps) : 1 2 5.5 11          Other rates (Mbps) : 6 9 12 18 24 36 48 54
我可以匹配狗,但如何匹配网络的全名

我试过一些东西,但我总是搭配其他东西。

你可以用

^:\s+(\S+).*$

它会匹配的

  • ^
    -字符串的开头
  • -冒号
  • \s+
    -1+空格
  • (\S.*)
    -组1:一个非空白字符
  • \s*
    -0+空格
  • 网络类型
    -文字字符串

结果在第1组。

你的意思是你需要
狗172
<代码>^:\s+(\s.*?)\s*网络类型?我太笨了,我可以在代码中使用“向前看”,谢谢。为什么要向前看?你不能得到组1的值吗?请给我看一下你的代码,我发现你仍然在努力工作。我使用
(?向前看比你的模式慢吗?@JohnDoe Lookaheads在你需要重叠匹配或无法访问组时是必要的。从初始正则表达式判断,你可以。
^:\s+(\S.*?)\s*Network type