gpt4 book ai didi

java - 使用正则表达式时消除字符串末尾的尾随空格?

转载 作者:行者123 更新时间:2023-12-04 06:15:13 24 4
gpt4 key购买 nike

我在这里面临的问题是我创建的当前正则表达式不能完全工作。如果我的字符串末尾没有空格,则失败。我的问题有没有办法解决这个问题?

以下是问题的详细信息:

我需要一个正则表达式来确保字符串符合以下格式,

“LL=xxxxxx LL=xxxxxxxxx LL=xxxxxxx”

L = 字母。
X = 字母或数字或标点符号。

我拥有的最接近的正则表达式是,
([\\pL]{2}=[\\pL|\\pN|\\pP]+ )+

但是这个正则表达式不起作用,只有当字符串采用以下格式时才会起作用:
“LL=xxxxxx LL=xxxxxxxxx LL=xxxxxxx ”

这是我用来检查的代码:
    final String regex1 = "([\\pL]{2}=[\\pL|\\pN|\\pP]+ )+"; 
String x = "xx=xxxxxx xx=xxxxxxxxxm xx=xxxxxxx xx=xxxxxxx"; // This is what I need!
String y = "xx=xxxxxx xx=xxxxxxxxxm xx=xxxxxxx xx=xxxxxxx "; // This works, no good
System.out.println(x.matches(regex1));
System.out.println(y.matches(regex1));

最佳答案

(?: |\z) 替换空格它应该工作。

([\\pL]{2}=[\\pL\\pN\\pP]+(?: |\\z))+
(?: |\z)是匹配空格或输入结尾的非捕获组。

请注意,在 [\\pL|\\pN|\\pP] , |不代表“或”。您可能想要 [\\pL\\pN\\pP]这意味着任何字母、数字或标点符号中的任何一个。

关于java - 使用正则表达式时消除字符串末尾的尾随空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7336638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com