regex查詢操作符 =~
返回matcher物件
regex匹配操作符 ==~
返回boolean型,匹配的是整個 字串
利用gstring我們可以做一些有趣的事情。
word=//w+/
assert 'asdasdadasd'==~/($word $word)*/
word是不是比 //w+/更加容易理解?
通用形式
string =~pattern
groovy中
1,string有乙個方法 eachmatch它以乙個規則pattern和乙個閉包作為引數
mystr = 'this rain in spain stays mainly in the plain!'
bounds=//b/
pattern=/$bounds/w*ain$bounds/
found=' '
mystr.eachmatch(pattern)
assert found==' rain spain plain '
2,matcher也有乙個叫each的方法,它以閉包為引數
(mystr=~pattern).each
結果是一樣的
print mystr.replaceall(pattern)
結果是 this r_ in sp_ stays m_ly in the pl_!
其中it指向匹配子串這和一樣的效果
在此發現了string的 - + 加減符號的用法
mystr = 'this rain in spain stays mainly in the plain!'
print mystr-'a'-'a'-'a'
結果會減掉第一次第二次第三次出現的a
而+是在字串尾部加上的。
關於matcher
返回的matcher是陣列
如果pattern即模式裡面沒有用到組
可以通過matcher.hasgroup()檢查
這macther[x]不是乙個陣列
否則matcher[x]同樣也是乙個陣列,比如macher[x]=['all','g1','g2'],其中第乙個為全部匹配子串,g1,g2這些後面的為組匹配子串
regex模式操作符 ~string
~//w*/ 返回的是pattern物件
如assert (~/../).iscase('ab')
pattern物件的使用 除了上面的iscase(str)方法外,還有在switch語句和grep方法中的應用。
它還可以用呀switch語句和陣列中
switch('ab'){
case ~/../:assert true;break
default :assert false;
beasts=['a','b','cc']
assert beasts.grep(~/./)==['a','b']
Groovy學習系列 正規表示式
正規表示式是在文字中尋找子字串的一種模式。1 定義正規表示式 groovy 中正規表示式定義是通過 正規表示式 定義的 def regex chese 2 常用正規表示式 表示式 匹配意義 示例 行首。匹配的字元必須以指定字串開頭 行尾。與字串的尾部或換行符之前的位置相匹配。不包括換行符本身 匹配除...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...