gpt4 book ai didi

java - 正则表达式 "inter"文本

转载 作者:行者123 更新时间:2023-11-29 05:27:00 28 4
gpt4 key购买 nike

我正在尝试创建一个正确的正则表达式来验证一些值,接下来我将解释:

我必须和他一起验证这一行:

$_globalVariables/ns:GlobalVariables/VARIABLENAME/ESB/System
$_globalVariables/ns:GlobalVariables/VARIABLENAME2/ESB/System
$_globalVariables/ns:GlobalVariables/VARIABLENAME3/ESB/System

用这一行:

$_globalVariables/ns:GlobalVariables/[varname]/ESB/Sistema

我尝试了一些组合,并阅读了有关正则表达式的内容,但我是该主题的“新手”,无法获得正确的结果。

我认为是这样的:

\$_globalVariables/ns:GlobalVariables/(.*?)/ESB/System
  • \$_globalVariables/ns:GlobalVariables/ -> 开始验证的文本
  • (.*?) -> 一切
  • /ESB/System -> 数学文本结束

对不起我的英语,如果有人需要更多信息,请问我。

最佳答案

您必须转义 $ 字符,因为它是一个保留字符,根据上下文表示行/输入结束。

方法如下:

String[] input = {
"$_globalVariables/ns:GlobalVariables/VARIABLENAME/ESB/System",
"$_globalVariables/ns:GlobalVariables/VARIABLENAME2/ESB/System",
"$_globalVariables/ns:GlobalVariables/VARIABLENAME3/ESB/System" };
Pattern p = Pattern.compile("^\\$_globalVariables/ns:GlobalVariables/(.+?)/ESB/System");
for (String s: input) {
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println("Found: " + m.group());
System.out.println("\t with variable name: " + m.group(1));
}
}

输出

Found: $_globalVariables/ns:GlobalVariables/VARIABLENAME/ESB/System
with variable name: VARIABLENAME
Found: $_globalVariables/ns:GlobalVariables/VARIABLENAME2/ESB/System
with variable name: VARIABLENAME2
Found: $_globalVariables/ns:GlobalVariables/VARIABLENAME3/ESB/System
with variable name: VARIABLENAME3

注意事项

  • $Pattern 中被双重转义 --> \\$
  • 对第 1 组使用 1+ 勉强量词而不是 0+ 勉强量词:我们假设变量名称中至少有一个字符,对吧?
  • Java Pattern 页面 API here

关于java - 正则表达式 "inter"文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22358638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com