正则表达式仅匹配第二组
Regex matching only second group
有什么方法可以只使用正则表达式来匹配第二组的字符串吗?
我使用的工具是Rundeck's Global Log Filters (Hightlight Output)
工具说明:
Regular Expression to test. Use groups to selectively highlight. More
Use a non-grouped pattern to highlight entire match:
regex: test message: this is a test result: this is a test Use regex
groups to only highlight grouped sections:
regex: this (is) a (test)
result: this is a test See the Java Pattern
documentation.
示例:
3) Manager port: 2614
4) Tcp Port: 2615
3) Manager port: 2714
4) Tcp Port: 2715
上面是字符串,我只想得到"3) Manager port: 2714"
的匹配。这是我想出来的 (?:Manager port:.*){1}
但它仍然匹配 3) Manager port: 2614
和 3) Manager port: 2714
谢谢
(?:Manager port:.*){1}
等于 Manager port:.*
并且只匹配任何 Manager:
子字符串和该行的其余部分。
使用 java.util.regex 正则表达式库,您可以使用
[\s\S]*(Manager port:.*)
详情
[\s\S]*
- 尽可能多的任何 0+ 个字符(注意 [\s\S]
是一个 "hack",你可以安全地使用 (?s:.*)
做同样的事情(?s:.*)
表示打开了 DOTALL 修饰符的修饰符组,因此 .
匹配任何字符,包括换行符)
(
- 捕获组开始
Manager port:
- 文字子串
.*
- 除换行字符外的 0+ 个字符,尽可能多。
)
- 捕获组结束。
有什么方法可以只使用正则表达式来匹配第二组的字符串吗?
我使用的工具是Rundeck's Global Log Filters (Hightlight Output)
工具说明:
Regular Expression to test. Use groups to selectively highlight. More Use a non-grouped pattern to highlight entire match:
regex: test message: this is a test result: this is a test Use regex groups to only highlight grouped sections:
regex: this (is) a (test) result: this is a test See the Java Pattern documentation.
示例:
3) Manager port: 2614
4) Tcp Port: 2615
3) Manager port: 2714
4) Tcp Port: 2715
上面是字符串,我只想得到"3) Manager port: 2714"
的匹配。这是我想出来的 (?:Manager port:.*){1}
但它仍然匹配 3) Manager port: 2614
和 3) Manager port: 2714
谢谢
(?:Manager port:.*){1}
等于 Manager port:.*
并且只匹配任何 Manager:
子字符串和该行的其余部分。
使用 java.util.regex 正则表达式库,您可以使用
[\s\S]*(Manager port:.*)
详情
[\s\S]*
- 尽可能多的任何 0+ 个字符(注意[\s\S]
是一个 "hack",你可以安全地使用(?s:.*)
做同样的事情(?s:.*)
表示打开了 DOTALL 修饰符的修饰符组,因此.
匹配任何字符,包括换行符)(
- 捕获组开始Manager port:
- 文字子串.*
- 除换行字符外的 0+ 个字符,尽可能多。)
- 捕获组结束。