Groovy 正则表达式 多个匹配项
将以下字符串保存在变量“start”中:
user stuff here 5
user banana1 pswd 4
user lemon2 pswd 5
mumbo jumbo 12333 3
user h3lp pswd 8
什么正则表达式将抓取“pswd”后面的三位数字(4,5,8),前面是随机字符串和“user”?常规匹配新手。我尝试了这个 (username.*secret).\d
理想情况下希望执行类似的操作,然后可以在数组中访问匹配项
def pattern = ~/\S+er\b/
def matcher = "My code is groovier and better when I use Groovy there" =~ pattern
assert matcher[0..-1] == ["groovier", "better"]
With the following string saved in variable "start":
user stuff here 5
user banana1 pswd 4
user lemon2 pswd 5
mumbo jumbo 12333 3
user h3lp pswd 8
What regex will grab the three digits(4,5,8) after 'pswd' preceded by a random string and 'user'? New to groovy matching. I attempted this (username.*secret).\d
would ideally like to perform something like this, where the matches can then be accessed in an array
def pattern = ~/\S+er\b/
def matcher = "My code is groovier and better when I use Groovy there" =~ pattern
assert matcher[0..-1] == ["groovier", "better"]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
查看正则表达式演示。 详细信息:
\b
- 单词边界user
-user
单词\s+
- 一个或多个空格\S+
- 一个或多个非空格(某些单词)\s+
- 一个或多个空格pswd
- a <代码>密码字\s+
- 一个或多个空格(\d+)
- 第 1 组:一个或多个数字。请参阅 Groovy 演示:
输出:
You can use
See the regex demo. Details:
\b
- a word boundaryuser
- auser
word\s+
- one or more whitespaces\S+
- one or more non-whitespaces (some word)\s+
- one or more whitespacespswd
- apswd
word\s+
- one or more whitespaces(\d+)
- Group 1: one or more digits.See the Groovy demo:
Output: