正则表达式^和$有什么用?

如题,正则表达式^(行的开头)$(行的结尾)
有什么用,比如[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,}。

 参考资料来源:百度百科-正则表达式  

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
[a-z] 可以用来匹配任意位置上的小写字母: "...a..."
^[a-z] 只能匹配以小写字母为行首的行: "a..."
[a-z]$ 只能匹配以小写字母为行尾的行: "...a"
^[a-z]$ 应该只能匹配只有一个小写字母的行: "a"本回答被提问者采纳
第2个回答  2008-07-22
regex = "(^[a-z]+)([0-9]+)([A-Z]+$)";
和 regex = "([a-z]+)([0-9]+)([A-Z]+)";

匹配a1234A, 都是True.
但匹配以下例子, 第一个是False, 第二个是True
ABCa1234A
a1234Aabc
ABCa1234Aabc
第3个回答  2008-07-17
这里^匹配要检索的文本的开头,$匹配文本的结束。^[a-z]$匹配的情况是你检索的文本只有一个小写字母的情况。

而[a-z]匹配文本里所有的小写字母。
第4个回答  2008-07-27
字符串是单行的肯定没有区别。。。不过你可以试试这样的测试数据:
String s1 = "abc abc";
String s2= "abc\nabc";

第二个string 有换行 可能会匹配 ^abc$
相似回答