Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个正则表达式是什么意思?_Java_Regex - Fatal编程技术网

Java 这个正则表达式是什么意思?

Java 这个正则表达式是什么意思?,java,regex,Java,Regex,我找到了这个java正则表达式,但不明白它与什么匹配 Pattern.compile(\\\.\\p{javaIdentifierStart}\\p{javaIdentifierPart}*(\\.\\p{javaIdentifierStart}\\p{javaIdentifierPart}*)*) 什么JavaIdentifierStart匹配?我相信这与从Java的字符类调用此方法相当: isJavaIdentifierStart public static boolean isJavaI

我找到了这个java正则表达式,但不明白它与什么匹配

Pattern.compile(\\\.\\p{javaIdentifierStart}\\p{javaIdentifierPart}*(\\.\\p{javaIdentifierStart}\\p{javaIdentifierPart}*)*)


什么
JavaIdentifierStart
匹配?

我相信这与从Java的字符类调用此方法相当:

isJavaIdentifierStart

public static boolean isJavaIdentifierStart(char ch)
Determines if the specified character is permissible as the first character in a Java identifier.
A character may start a Java identifier if and only if one of the following conditions is true:

isLetter(ch) returns true
getType(ch) returns LETTER_NUMBER
ch is a currency symbol (such as "$")
ch is a connecting punctuation character (such as "_").
Note: This method cannot handle supplementary characters. To support all Unicode characters,     including supplementary characters, use the isJavaIdentifierStart(int) method.

Parameters:
ch - the character to be tested.
Returns:
true if the character may start a Java identifier; false otherwise.

(更具可读性)

我相信这与从Java的字符类调用此方法是等价的:

isJavaIdentifierStart

public static boolean isJavaIdentifierStart(char ch)
Determines if the specified character is permissible as the first character in a Java identifier.
A character may start a Java identifier if and only if one of the following conditions is true:

isLetter(ch) returns true
getType(ch) returns LETTER_NUMBER
ch is a currency symbol (such as "$")
ch is a connecting punctuation character (such as "_").
Note: This method cannot handle supplementary characters. To support all Unicode characters,     including supplementary characters, use the isJavaIdentifierStart(int) method.

Parameters:
ch - the character to be tested.
Returns:
true if the character may start a Java identifier; false otherwise.

(可读性稍高)

\\p{javaIdentifierStart}
表示可接受为任何有效java标识符的第一个字符的字符


\\p{javaIdentifierStart}\\p{javaIdentifierPart}*\\\p{javaIdentifierStart}\\p{javaIdentifierPart}*
表示
anyIdentifier.anyIdentifier
-两个java标识符,由点分隔(名称空间名称和类名、类名和静态成员名、对象名和成员名等)


完整(更正)正则表达式表示(可能是限定的)java标识符——简单的“名称”或一系列“名称”,用点分隔。但是,它不必是完全限定名。

\\p{javaIdentifierStart}
表示任何有效java标识符的第一个字符都可以接受的字符


\\p{javaIdentifierStart}\\p{javaIdentifierPart}*\\\p{javaIdentifierStart}\\p{javaIdentifierPart}*
表示
anyIdentifier.anyIdentifier
-两个java标识符,由点分隔(名称空间名称和类名、类名和静态成员名、对象名和成员名等)


完整(更正)正则表达式表示(可能是限定的)java标识符——简单的“名称”或一系列“名称”,用点分隔。但是,它不必是完全限定的名称。

我相信这将匹配完全限定的类名。

我相信这将匹配完全限定的类名。

请阅读相关文档:@Matt Ball I search我不要求所有内容,但JavaIdentifierStart没有任何内容。一个开源文件,来自JDK 1.7,但从代码中我什么都不懂。你可以阅读这些字符类请阅读相关文档:@Matt Ball我搜索了我没有要求所有内容,但是关于JavaIdentifierStart没有任何内容。一个开源文件,来自JDK 1.7,但从代码中我什么都不懂。你可以阅读这些字符类。如果ch=任何正确的java标识符,那么模式将类似于:ch ch*(.ch ch ch*)*例如:com.example.parcers.xmlSo如果ch=任何正确的java标识符,那么模式将类似于:ch ch*(.ch*)*例如:com.example.parcers.xml