求一段正则,感谢大佬们。
IP=192.168.100.1
求下的IP值,这个正则该怎么写呢?谢谢啦 Local $sSource = _
'' & @CRLF & _
'IP=192.168.100.1'
$sD = 'DESKTOP-2QIB7QO'
Local $aSRE = StringRegExp($sSource, '(?i)\[' & $sD & '\]\v+\s*IP\h*\=\h*([\d\.]+)', 1)
If Not @Error Then MsgBox(0, '', $aSRE) 本帖最后由 jwqs5533 于 2024-1-2 13:57 编辑
afan 发表于 2024-1-2 13:18
A大是我没说清楚
IP=192.168.100.1
;
IP=192.168.100.1
IP=192.168.100.2
IP=192.168.100.2
是多组检查,检查其中的IP值,包含;的不检查
jwqs5533 发表于 2024-1-2 13:50
A大是我没说清楚
改一行 Local $aSRE = StringRegExp($sSource, '(?mi)^\h*\[' & $sD & '\]\v+\s*IP\h*\=\h*([\d\.]+)', 1) 本帖最后由 jwqs5533 于 2024-1-2 15:28 编辑
afan 发表于 2024-1-2 14:05
改一行 Local $aSRE = StringRegExp($sSource, '(?mi)^\h*\[' & $sD & '\]\v+\s*IP\h*\=\h*([\d\.]+)', 1 ...
好用了,谢谢A大,可以让获取到的IP值不限制类型,即使是空值也能获取到吗?比如 IP= jwqs5533 发表于 2024-1-2 15:08
好用了,谢谢A大,可以让获取到的IP值不限制类型,即使是空值也能获取到吗?比如 IP= ...
表达式最后的 + 改为 *
...([\d\.]*)', afan 发表于 2024-1-2 15:33
表达式最后的 + 改为 *
...([\d\.]*)',
A大又得麻烦你呀,怎么能获取多行的呢:face (37):
IP=192.168.1.100
Gateway=192.168.1.1
SubnetMask=255.255.255.0
这种的。。。。现在这个正则只能获取第一行的,我想每一行都是独立获取的 晕
IniReadSection afan 发表于 2024-1-2 17:10
晕
IniReadSection
就是不想用IniReadSection嘛 jwqs5533 发表于 2024-1-2 17:50
就是不想用IniReadSection嘛
你这是不是还撒起娇来了 _ _||
你的数据是标准的ini结构,用ini函数是最简单、方便、快捷的 afan 发表于 2024-1-2 18:19
你这是不是还撒起娇来了 _ _||
你的数据是标准的ini结构,用ini函数是最简单、方便、快捷的 ...
关键是不想用共享或者下载方式去获取INI,在给搞搞嘛A大 jwqs5533 发表于 2024-1-2 16:53
A大又得麻烦你呀,怎么能获取多行的呢
IP=192.168.1.100
是这个意思吗?
#include <Array.au3>
#include <String.au3>
; 定义待匹配的文本
Local $sText = "" & @CRLF & _
"IP=192.168.1.100" & @CRLF & _
"Gateway=192.168.1.1" & @CRLF & _
"SubnetMask=255.255.255.0"
; 使用StringRegExp进行匹配
Local $aMatches = StringRegExp($sText, "IP=(\S+)\s+Gateway=(\S+)\s+SubnetMask=(\S+)", 3)
; 确认是否有匹配项
If @error Then
MsgBox($MB_ICONERROR, "Error", "No matches found.")
Else
; 打印结果
MsgBox($MB_ICONINFORMATION, "Results", "IP: " & $aMatches & @CRLF & _
"Gateway: " & $aMatches & @CRLF & _
"SubnetMask: " & $aMatches)
EndIf 正好过来,也学一下正则的内容
页:
[1]