Java 语句的正则表达式不包含在句子中

Java 语句的正则表达式不包含在句子中,java,regex,Java,Regex,Regex:com.sap.dsc.ac.v1.equipment.. 上面的正则表达式正在选择这两个表达式,我只想选择第一个模式,而不选择int 选择com.sap.dsc.ac.v1.device.BROUDNHDJDJDNXJSNZKSNSJH 并且不应选择com.sap.dsc.ac.v1.device.int.BROUDNHDJDJDNXJSNZKSNSJH 由于它有int,您可以使用否定的前瞻性断言来满足您的需求: com.sap.dsc.ac.v1.equipment.BROUDN

Regex
com.sap.dsc.ac.v1.equipment..

上面的正则表达式正在选择这两个表达式,我只想选择第一个模式,而不选择int

选择com.sap.dsc.ac.v1.device.BROUDNHDJDJDNXJSNZKSNSJH

并且不应选择com.sap.dsc.ac.v1.device.int.BROUDNHDJDJDNXJSNZKSNSJH
由于它有int

,您可以使用否定的前瞻性断言来满足您的需求:

com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH

com.sap.dsc.ac.v1.equipment.int.BROUDNHDJDJDNXJSNZKSNSJH

(?!int\\)
术语告诉正则表达式引擎查看包名称中的该点,并确保
int.
不在后面。如果是这样的话,in将接受任何其他可能作为有效匹配的内容。

您可以使用否定的前瞻性断言来满足您的要求:

com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH

com.sap.dsc.ac.v1.equipment.int.BROUDNHDJDJDNXJSNZKSNSJH

(?!int\\)
术语告诉正则表达式引擎查看包名称中的该点,并确保
int.
不在后面。如果是这样的话,in将接受任何其他可能作为有效匹配的内容。

。“regexp中的符号表示任何符号中的一个,如果要将“.”用作字符,则需要对其进行转义

String input = "com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH";
if (input.matches("com\\.sap\\.dsc\\.ac\\.v1\\.equipment\\.(?!int\\.).*")) {
    System.out.println("MATCH");
}
“\”-是行中的点字符

'.'-任何字符的任何数字

但是上面的regexp对于在最后一个单词之前的点之间包含任何字符数的任何行都是正确的。如果只想匹配包含“int”的行,只需将第一行“.*”替换为“int”

com\.sap\.dsc\.ac\.v1\.equipment\..*\..*
现在,如果希望“.int.”后面的部分不包含点符号,请添加例外“.”:

com\.sap\.dsc\.ac\.v1\.equipment\.int\..*

“.”符号在regexp中表示任意一个符号,如果要将“.”用作字符,则需要对其进行转义

String input = "com.sap.dsc.ac.v1.equipment.BROUDNHDJDJDNXJSNZKSNSJH";
if (input.matches("com\\.sap\\.dsc\\.ac\\.v1\\.equipment\\.(?!int\\.).*")) {
    System.out.println("MATCH");
}
“\”-是行中的点字符

'.'-任何字符的任何数字

但是上面的regexp对于在最后一个单词之前的点之间包含任何字符数的任何行都是正确的。如果只想匹配包含“int”的行,只需将第一行“.*”替换为“int”

com\.sap\.dsc\.ac\.v1\.equipment\..*\..*
现在,如果希望“.int.”后面的部分不包含点符号,请添加例外“.”:

com\.sap\.dsc\.ac\.v1\.equipment\.int\..*

正则表达式中的点匹配任何字符,包括点。将正则表达式的结尾替换为设备\.[^.]*或设备\.\w*您还应该在正则表达式中的其他点前面加斜线。仅当存在
int
包时,不匹配,或者如果存在任何其他包时,不匹配?例如,
com.sap.dsc.ac.v1.equipment.ext.BROUDNHDJDJDNXJSNZKSNSJH
?正则表达式中的点匹配任何字符,包括点。将正则表达式的结尾替换为设备\.[^.]*或设备\.\w*您还应该在正则表达式中的其他点前面加斜线。仅当存在
int
包时,不匹配,或者如果存在任何其他包时,不匹配?例如,
com.sap.dsc.ac.v1.equipment.ext.BROUDNHDJDJDNXJSNZKSNSJH