Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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,我正在尝试匹配以下任何一项: $tag:parent.child$ $tag:grand.parent.child$ $tag:great.grand.parent.child$ 我尝试了一系列组合,但不确定如何在每个组合都没有经验的情况下实现: 我知道这是错误的,但还没有找到正确的方法。非常感谢您的帮助。您可以使用\$tag:?:[a-z]+\.[a-z]+\$ \$a文字$ 标记:文字标记: ?:... 非捕获组,包括: [a-z]+一个或多个小写字母和 \.文字点 *前一组的任意数量,包括

我正在尝试匹配以下任何一项:

$tag:parent.child$ $tag:grand.parent.child$ $tag:great.grand.parent.child$ 我尝试了一系列组合,但不确定如何在每个组合都没有经验的情况下实现:

我知道这是错误的,但还没有找到正确的方法。非常感谢您的帮助。

您可以使用\$tag:?:[a-z]+\.[a-z]+\$

\$a文字$ 标记:文字标记: ?:... 非捕获组,包括: [a-z]+一个或多个小写字母和 \.文字点 *前一组的任意数量,包括其中的零个 [a-z]+一个或多个小写字母 \$a文字$ 您可以使用\$tag:?:[a-z]+\.[a-z]+\$

\$a文字$ 标记:文字标记: ?:... 非捕获组,包括: [a-z]+一个或多个小写字母和 \.文字点 *前一组的任意数量,包括其中的零个 [a-z]+一个或多个小写字母 \$a文字$ 您的正则表达式是:\$tag:[a-z]*\.[a-z]*\$

您需要一个.name的重复组,因此请使用:\$tag:[a-z]+?:\.[a-z]++\$

假设至少有两个名称。如果只允许使用一个名称,即不允许使用句点,则将last+更改为*

您的正则表达式为:\$tag:[a-z]*\.[a-z]*\$

您需要一个.name的重复组,因此请使用:\$tag:[a-z]+?:\.[a-z]++\$


假设至少有两个名称。如果只允许使用一个名称,即不允许使用句点,则将last+更改为*

\$tag:(?:[a-z]+?\.*){1,4}\$
\$tag:-文字$tag: ?:[a-z]+?\.*-任何单词字符的非捕获组,一次或多次最短匹配,后跟可选的文字句点 {1,4}-捕获组出现在1-4次之间的任意位置。您可以根据需要更改它,或者使用简单的+如果可以是任意次数。 \$-文字$ 我通常更喜欢\w而不是[a-z],因为它相当于[a-zA-Z0-9_],但使用它取决于您试图找到什么


希望这能有所帮助。

不确定这是否是您想要的,但您可以从模式中创建一个非捕获组,然后发现一定次数:

\$tag:(?:[a-z]+?\.*){1,4}\$
\$tag:-文字$tag: ?:[a-z]+?\.*-任何单词字符的非捕获组,一次或多次最短匹配,后跟可选的文字句点 {1,4}-捕获组出现在1-4次之间的任意位置。您可以根据需要更改它,或者使用简单的+如果可以是任意次数。 \$-文字$ 我通常更喜欢\w而不是[a-z],因为它相当于[a-zA-Z0-9_],但使用它取决于您试图找到什么


希望这有帮助。

以下模式将匹配字符串中的任何句点:


\.

以下模式将匹配字符串中的任何句点:


\.

要替换点吗?要替换点吗?不需要捕获组\w与OP不同。是的,我发现\w使用起来更干净。这显然取决于需要什么,如果数字和大写字母不可接受,那么\w将不正确。捕获组用于多次查找模式。或数字。似乎很清楚OP不需要数字。@user11809641非捕获组还允许多次查找模式,而无需capturing@DavidConrad说得好!我更改了上面的答案。你不需要一个捕获组\w与OP不同。是的,我发现\w使用起来更干净。这显然取决于需要什么,如果数字和大写字母不可接受,那么\w将不正确。捕获组用于多次查找模式。或数字。似乎很清楚OP不需要数字。@user11809641非捕获组还允许多次查找模式,而无需capturing@DavidConrad说得好!我更改了上面的答案。非常感谢,非常感谢。需要学习的小组。非常感谢,非常感谢。需要学习的小组。