Java 现有正则表达式中的更多正则表达式标准
我想在下面的正则表达式中添加,该正则表达式也通过以下标准-Java 现有正则表达式中的更多正则表达式标准,java,regex,Java,Regex,我想在下面的正则表达式中添加,该正则表达式也通过以下标准- ^[\p{L}\d'][ \p{L}\d'-]*[\p{L}\d'-']$ 只能以字母(A-Z或A-Z)开头 也只能接受一封信 在字符串或字符串结尾之间接受连字符(-)、空格、点()。(无其他特殊字符) 接受介于和字符串结尾之间的数字 请也希望达到现有的标准这个正则表达式正在做什么 例如 预期的- t, T, test, test123, te12st, te-st, te.st, te st, éééééé, ṪỲɎɆḂɃɀȿȸȺȔ
^[\p{L}\d'][ \p{L}\d'-]*[\p{L}\d'-']$
-
)、空格、点(
)。(无其他特殊字符)t, T, test, test123, te12st, te-st, te.st, te st, éééééé, ṪỲɎɆḂɃɀȿȸȺȔȐȳɊÉâÇë, Επίθετο
12test, 1, .test, -test, , tes*t (none of the special character except hyphen, dot & space),
预计不到-
t, T, test, test123, te12st, te-st, te.st, te st, éééééé, ṪỲɎɆḂɃɀȿȸȺȔȐȳɊÉâÇë, Επίθετο
12test, 1, .test, -test, , tes*t (none of the special character except hyphen, dot & space),
这是一个可能的解决方案,但是这些测试标准与您的第一个要求冲突:俎,ṪỲɎɆḂɃɀȿȸȺȔȐȳɊÉâÇë, Επίθετο. 其中1)接受一个或多个A-Za-z,然后2)接受零个或多个字母、数字、连字符、空格和句点的组合
如果您希望它也接受这三个测试标准,那么这是一个可能的解决方案:
^[\p{L}]+[\p{L}\d-.\s]*$
要匹配包含单个字母的预期值和非预期值,可以从字符串开头匹配
\pL
。然后重复0+次[\d\pL.-]
中列出的任何操作,然后断言字符串的结尾
请注意,并非所有的预期目标都是从a-zA-Z开始的
^\pL[\d\pL .-]*$
在爪哇
String regex = "^\\pL[\\d\\pL .-]*$";
|
^\\p{L}[\\p{L}\\d.-]*$
要解决要点#1您需要^[A-za-z]{1}[\\p{L}\\d'][\\p{L}\\d'-]*[\\p{L}\\d'-]$
您能提供一个示例输入和预期匹配吗?@MonkeyZeus,我已经用预期匹配更新了这个问题。ṪỲɎɆḂ有效吗?它不符合您提出的正则表达式,也不符合您发布的要求。