语句的正则表达式不包含在句子中
来源:爱站网时间:2021-09-16编辑:网友分享
问题描述
com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH
com.sap.dsc.ac.v1.equipment.int.BROUDNHDJDJDNXJSNZKSNSJH
Regex:com.sap.dsc.ac.v1.equipment.*.
上面的正则表达式选择了两个表达式,我只想选择第一个不带int的模式。
选择com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH
并且不应选择com.sap.dsc.ac.v1.equipment.int.BROUDNHDJDJDNXJSNZKSNSJH因为它有int
思路一:
您可以使用否定的超前断言来满足您的要求:
String input = "com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH";
if (input.matches("com\\.sap\\.dsc\\.ac\\.v1\\.equipment\\.(?!int\\.).*")) {
System.out.println("MATCH");
}
思路二:
'。'如果要使用“。”,则regexp中的symbol表示任何符号。作为字符-您需要将其转义]
com\.sap\.dsc\.ac\.v1\.equipment\..*\..*
'。' -是行中的点字符'。*'-任意字符的任意数量