想把pub_form_year_01分割為'pub_from_year'和'01'兩部分,或者取得'pub_from_year'這個字段也可以,
分割的話很難按最后一個'_'分割吧?我是沒辦法了
所以想到提取pub_from_year,用了后向引用,(?=exp),我是這么寫的'/(?=_\d)/i'
大家給出方法,謝謝了.
php中用的,感覺js中正則高手比較多,大家幫幫忙~~~呵呵
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
貪婪與懶惰
當正則表達式中包含能接受重復的量詞(指定數量的代碼,例如*,{5,12}等)時,通常的行為是匹配盡可能多的字符。考慮這個表達式:a.*b,它將會匹配最長的以a開始,以b結束的字符串。如果用它來搜索aabab的話,它會匹配整個字符串aabab。這被稱為貪婪匹配。
有時,我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的量詞都可以被轉化為懶惰匹配模式,只要在它后面加上一個問號?。這樣.*?就意味著匹配任意數量的重復,但是在能使整個匹配成功的前提下使用最少的重復。現在看看懶惰版的例子吧:
a.*?b匹配最短的,以a開始,以b結束的字符串。如果把它應用于aabab的話,它會匹配aab和ab。
表5.懶惰量詞 *? 重復任意次,但盡可能少重復
+? 重復1次或更多次,但盡可能少重復
?? 重復0次或1次,但盡可能少重復
{n,m}? 重復n到m次,但盡可能少重復
{n,}? 重復n次以上,但盡可能少重復
另外一種方法.
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]