autoit - Autoit脚本从字符串中提取所有IP地址
问题描述
我是autoit的新手,我想以数组格式从这个字符串中提取所有IP地址
#include <MsgBoxConstants.au3>
#include <StringConstants.au3>
#include <array.au3>
$str = "ghg shjsja 192.168.1.2 hbkjNKKSJKKN HKJCBKJLKKL 12.15.14.45
KJBKJABCKBNDKQ djfsjdkfhnwk kjwenfkjdsnf knfflksnf KHBKJABCKJQDH
1.1.1.1 2.2.2.2"
$copy = StringRegExp($str,"((\d{1,3}\.){3}\d{1,3})",3)
MsgBox(0,"",$copy[0])`
当我跳过一步时,我得到了所有 ip,这意味着当我使用 $copy[2] 时我将获得第二个 ip。我想在不跳过这一步的情况下提取所有 ip。
解决方案
$str = "ghg shjsja 192.168.1.2 hbkjNKKSJKKN HKJCBKJLKKL 12.15.14.45 " & _
"KJBKJABCKBNDKQ djfsjdkfhnwk kjwenfkjdsnf knfflksnf KHBKJABCKJQDH " & _
"1.1.1.1 2.2.2.2"
$copy = StringRegExp($str, "((?:\d{1,3}\.){3}\d{1,3})", 3)
For $i = 0 To UBound($copy) -1
ConsoleWrite($copy[$i] & @CRLF)
MsgBox(0, "", $copy[$i])
Next
将输出
192.168.1.2
12.15.14.45
1.1.1.1
2.2.2.2
代替
192.168.1.2
1.
12.15.14.45
14.
1.1.1.1
1.
2.2.2.2
2.
内部捕获组的?:
开头使其不捕获而只是一个组。外部组将内部组与外部捕获组内的其他字符一起捕获为单个[步]。
推荐阅读
- javascript - 用于订阅的 PayPal 智能按钮流程存在问题
- php - php mysql固定值比率按钮获取所有状态
- aes - Python和C中的AES时间有什么区别?
- javascript - 道具在反应中解构
- jquery - ms-access 查询 sql :为每个客户端选择一行
- php - 在 jQuery attr 中使用 wp_localize_script 图像路径
- python - 按会话匹配一个 Python 列表中的项目
- laravel - 使用带有不同列名的 whereIn (Eloquent)
- javascript - 如何使用这个 json
- autodesk-forge - 关闭剖面视图中的阴影/阴影功能