例如,我想忽略这个字符串123 456 78912,但是正则表达式匹配了前三个字符,所以它返回true。有没有办法在不创建新正则表达式的情况下做到这一点?
正则表达式还必须匹配以下内容:
0(123)456-789-ABcd
0 (123) 456
(123) 234 345-456
1111111111111
1 123 123 123 123
123个
123-(456)
123 (456) 789
(电话)
(123)
private boolean checkValidity(String number){
// Check value using regex and set value to field only if sastify these rules:
//
// Phone number is split using space or dash
// Prefix may have +
// 1st/2nd group have (), maximum only one grp
// grp contains number/upper/lowercase, at least two symbols in length
// 1st grp may have one symbol in length
Pattern pattern = Pattern.compile("^\\+?\\d{0,100}(\\w+[ -]+)*([ -]+\\(\\w+\\)[ -]+|[ -]+\\(\\w+\\)$|\\(\\w+\\)[ -]+|\\(\\w+\\)$){0,2}([ -]?\\w)*");
Matcher matcher = pattern.matcher(number);
boolean matchFound = matcher.find();
if(matchFound){
return true;
}
System.out.println("Wrong number format!");
return false;
}
使用matcher.group()检查原始值和匹配值。等于
private boolean checkValidity(String number){
//check value using regex and set value to field only if sastify these rules:
//Phone number is split using space or dash
//Prefix may have +
//1st/2nd group have (), max only 1 grp
//grp contains number/upper/lowercase, at least 2 symbols in length
//1st grp may have 1 symbol in length
Pattern pattern = Pattern.compile("(^\\+?\\d{0,100}(\\w+[ -]+)*([ -]+\\(\\w+\\)[ -]+|[ -]+\\(\\w+\\)$|\\(\\w+\\)[ -]+|\\(\\w+\\)$){0,1}([ -]?\\w{2,100})*)");
Matcher matcher = pattern.matcher(number);
boolean matchFound = matcher.find();
//System.out.println(matcher.group());
if(matchFound && matcher.group().equals(number)){
return true;
}
System.out.println("Wrong number format!");
return false;
}
问题内容: 我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。 我有一组价值观,例如: 028938 DEF567987 390987.456 GHI345928.039 我想匹配一组特定的字符串,例如: 完全由6位数字组成的字符串 字符串,由正好6位数字,十进制组成
我正在使用adobe javascript中的正则表达式在绘图标题栏中查找一串单词。从数字(1)开始,然后是日期,然后是不同数量的单词和4组首字母 图形标题栏示例具有以下内容: 1 20.09.16 此测试的更改 SB SB BW CR 0 29.07.16批准用于施工MM SB BW GM 正则表达式结果是 对于建筑MM SB BW GM 1 20.09.16本试验的变更 我需要正则表达式是 1
问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)
问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需
我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我
我正在arround制作一个与字符串的某个块匹配的正则表达式,问题是它包含许多相似的块,并且没有清楚地分开,所以我不知道如何停止正则表达式。 字符串的例子 所以我要做的是匹配并只选择第一个A1。到目前为止,我所做的是: