正则表达式^和$有什么用?
有什么用,比如[a-z] 和 ^[a-z]$ 有什么区别??
谁知道啊~~
先谢过帮我答复,但是还是不明白啊。下面是我的例子:
Pattern.matches(regex,input);
regex = "(^[a-z]+)([0-9]+)([A-Z]+$)";
和 regex = "([a-z]+)([0-9]+)([A-Z]+)";
结果一样的,难道有用到没用到都一样??
测试数据:
"a1234A" ==> true
"1234F" ==> false
"a1234" ==> false
"aP" ==> false
"a9KHIG" ==> true
////////////////////////////////////////////////////////
4楼的朋友,为什么我试过你的数据,结果都是false啊,不解。。郁闷。。是不是eclipse或者其他什么出问题了啊??? 展开
这里^匹配要检索的文本的开头,$匹配文本的结束。
^[a-z]$匹配的情况是你检索的文本只有一个小写字母的情况,而[a-z]匹配文本里所有的小写字母。
例如:
regex = "(^[a-z]+)([0-9]+)([A-Z]+$)";
和 regex = "([a-z]+)([0-9]+)([A-Z]+)";
匹配a1234A, 都是True.
但匹配以下例子, 第一个是False, 第二个是True
ABCa1234A
a1234Aabc
ABCa1234Aabc
扩展资料:
概念
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
符号
1、\
将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。
2、^
匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
3、$
匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
4、*
匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。
参考资料来源:百度百科-正则表达式
^[a-z] 只能匹配以小写字母为行首的行: "a..."
[a-z]$ 只能匹配以小写字母为行尾的行: "...a"
^[a-z]$ 应该只能匹配只有一个小写字母的行: "a"
和 regex = "([a-z]+)([0-9]+)([A-Z]+)";
匹配a1234A, 都是True.
但匹配以下例子, 第一个是False, 第二个是True
ABCa1234A
a1234Aabc
ABCa1234Aabc
而[a-z]匹配文本里所有的小写字母。
String s1 = "abc abc";
String s2= "abc\nabc";
第二个string 有换行 可能会匹配 ^abc$