请问我如何为下面的格式编写模式正则表达式:
Set {0} = {1}
with: - {0},{1}是任何字符,起始文本是关键字“Set”,空格,{0},空格,“=”,空格,然后是{1}。< / p>
答案 0 :(得分:1)
很难判断您是否要验证字符串的格式为“Set {0} = {1}”,或者您是否想要知道{0}中存储的内容。 {1}。
无论哪种方式,您都可以使用此模式:
"Set (.+?) = (.+?)"
模式分解:
Set
- 文字字符串,后跟空格(.+?)
- 在组1中捕获一个或多个字符,后跟空格=
- 文字字符串,后跟空格(.+?)
- 捕获到第2组的一个或多个字符它允许您验证字符串格式,或获取{0}&amp; {1}。
代码示例:
public static void main(String[] args) throws Exception {
String setString = "Set aaa = bbb";
Matcher matcher = Pattern.compile("Set (.+?) = (.+?)").matcher(setString);
if (matcher.matches()) {
System.out.println("Success");
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
} else {
System.out.println("Failed");
}
}
结果:
Success
aaa
bbb
如果setString =“SetX aaa = bbb”,那么结果将是:
Failed
答案 1 :(得分:0)
我没有得到正确的问题我想这就是你要找的你需要regx for string
设置aa = bb。
boolean dPort;
dPort = Pattern.matches("[S][e][t][\\s][A-Za-z]+[\\s][=][\\s][A-Za-z]+", "Set aa = bb");
System.out.println(dPort);