1. 正則表達式 [-\\[\\]~`!@#$%^&*()_+=|}{:;'/<>,.\"\\\\]* 什麼意思
表示由這些字元組成的0到多個字元的字元串:-[]~`!@#$%^&*()_+=|}{:;'/?<>,."
String reg = "\(([^\(\)]*)\)";
String str = "abc(12abcdifa320&)def";
結果是(12abcdifa320&)
就是想匹配一對括弧的內容,包括一對括弧。
兩個正則表達式的意思解釋如下:
()中是匹配內容。
1、([^[<]+?) 不能有<;
2、([^["']+?) 不能有單引雙引號。
(+是允許多字元,?問號是有或沒有)
(1)集合石過濾旁邊的正則是什麼意思擴展閱讀:
給定一個正則表達式和另一個字元串,可以達到如下的目的:
1、給定的字元串是否符合正則表達式的過濾邏輯(稱作「匹配」):
2、可以通過正則表達式,從字元串中獲取想要的特定部分。
正則表達式由一些普通字元和一些元字元(metacharacters)組成。普通字元包括大小寫的字母和數字,而元字元則具有特殊的含義,我們下面會給予解釋。
在最簡單的情況下,一個正則表達式看上去就是一個普通的查找串。例如,正則表達式"testing"中沒有包含任何元字元,它可以匹配"testing"和"testing123"等字元串,但是不能匹配"Testing"。
2. 數學上的正則是什麼意思
正則表達式是對字元串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。
正則表達式的特點是:1. 靈活性、邏輯性和功能性非常的強;2. 可以迅速地用極簡單的方式達到字元串的復雜控制。3. 對於剛接觸的人來說,比較晦澀難懂。
3. 正則表達式 .* 是什麼意思啊
表達式 .* 就是單個字元匹配任意次,即貪婪匹配。表達式 .*? 是滿足條件的情況只匹配一次,即最小匹配.
舉例介紹:
如:<img src="test.jpg" width="60px" height="80px"/>
懶惰模式正則:
src=".*?"
結果:src="test.jpg"
(3)集合石過濾旁邊的正則是什麼意思擴展閱讀
正則表達式特殊字元及其含義:
1、cx
匹配由x指明的控制字元。例如, cM 匹配一個 Control-M 或回車符。x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個原義的 『c』 字元。
2、f
匹配一個換頁符。等價於 x0c 和 cL。
3、
匹配一個換行符。等價於 x0a 和 cJ。
4、
匹配一個回車符。等價於 x0d 和 cM。
5、s
匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ f v]。
6、S
匹配任何非空白字元。等價於 [^ f v]。
7、
匹配一個製表符。等價於 x09 和 cI。
8、v
匹配一個垂直製表符。等價於 x0b 和 cK。
4. 該正則表達式,用於過濾掉什麼內容呢:"\\([^()]*\\)"; (PHP)
是指提取括弧包裹的內容。
以下是我搜集的正則表達式應用及方法,希望對你有用。
匹配中文字元的正則表達式:[\u4e00-\u9fa5]
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
匹配空白行的正則表達式:\n\s*\r
匹配HTML標記的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*? />
匹配首尾空白字元的正則表達式:^\s*|\s*$
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配網址URL的正則表達式:[a-zA-z]+://[^\s]*
匹配身份證:\d{15}|\d{18}
匹配ip地址:\d+\.\d+\.\d+\.\d+
匹配特定數字:
^[1-9]\d*$
//匹配正整數
^-[1-9]\d*$ //匹配負整數
^-?[1-9]\d*$ //匹配整數
^[1-9]\d*|0$ //匹配非負整數(正整數 + 0)
^-[1-9]\d*|0$ //匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
//匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
//匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
//匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$//匹配非正浮點數(負浮點數 + 0)匹配特定字元串:
^[A-Za-z]+$//匹配由26個英文字母組成的字元串
^[A-Z]+$//匹配由26個英文字母的大寫組成的字元串
^[a-z]+$//匹配由26個英文字母的小寫組成的字元串
^[A-Za-z0-9]+$//匹配由數字和26個英文字母組成的字元串
^\w+$//匹配由數字、26個英文字母或者下劃線組成的字元串
只能輸入數字:「^[0-9]*$」 只能輸入n位的數字:「^d{n}$」
只能輸入至少n位數字:「^d{n,}$」
只能輸入m-n位的數字:「^d{m,n}$」
只能輸入零和非零開頭的數字:「^(0|[1-9][0-9]*)$」
只能輸入有兩位小數的正實數:「^[0-9]+(.[0-9]{2}) $」
只能輸入有1-3位小數的正實數:「^[0-9]+(.[0-9]{1,3}) $」
只能輸入非零的正整數:「^+ [1-9][0-9]*$」
只能輸入非零的負整數:「^-[1-9][0-9]*$」
只能輸入長度為3的字元:「^.{3}$」
驗證用戶密碼:「^[a-zA-Z]w{5,17}$」正確格式為:以字母開頭,長度在6-18之間, 只能包含 字元、數字和下劃線。
驗證是否含有^%&',;= $"等字元:「[^%&',;= $x22]+」 只能輸入漢字:「^[u4e00-u9fa5],{0,}$」
5. 什麼是正則表達式
正則表達式,又稱規則表達式。是計算機科學的一個概念。
正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。許多程序設計語言都支持利用正則表達式進行字元串操作。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟體(例如sed和grep)普及開的。
正則表達式通常縮寫成「regex」,單數有regexp、regex,復數有regexps、regexes、regexen。
(5)集合石過濾旁邊的正則是什麼意思擴展閱讀
正則表達式的作用:
1、匹配
檢查字元串是否符合正則表達式中的規則,有一次不匹配,則返回false。如:
String str="abc";
String reg="[a-zA-Z]\d?";//次表達式表示字元串的第一位只能是字母,第二位只能是數字或沒有boolean flag=str.matches(reg);//返回結果為true。
2、切割
所謂切割,即是按一定的規則將字元串分割成多個子字元串,如:
String str="zhangsan,lishi,wangwu"。
String reg=",";//表示以逗號作為切割符。
String[] arr=str.split(reg);//返回結果為{「zhangsan」,"lisi","wangwu}。
3、替換
即將字元串中符合規則的字元替換成指定字元,如:
String str=""。
str.replaceAll("\d{3,}","#");//表示將連續出現三個或三個以上的數字替換成「#」。
6. 正則表達式/^[^\]+\/是什麼意思
兩個/之間的字元串表示一個正則表達式。[^,]表示任何非,(逗號)的字元,+表示一個或者多個。
?當該字元緊跟在任何一個其他限制符(*,+,?,{n},{n,},{n,m})後面時,匹配模式是非貪婪的。非貪婪模式盡可能少地匹配所搜索的字元串,而默認的貪婪模式則盡可能多地匹配所搜索的字元串。
例如,對於字元串「oooo」,「o+」將盡可能多地匹配「o」,得到結果[「oooo」],而「o+?」將盡可能少地匹配「o」,得到結果 ['o', 'o', 'o', 'o']
(6)集合石過濾旁邊的正則是什麼意思擴展閱讀:
正則表達式是對字元串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合。
組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。正則表達式是一種文本模式,該模式描述在搜索文本時要匹配的一個或多個字元串。
7. 正則表達式過濾指定位置的字元
好了,又又一次回復,不好意思,我是新手,慢慢一點一點深入
(<TD[^>]*>)[ s]*<P[^>]*>([^>]*)</P>s?(</TD>)
這正則表達式完全搞定了,用$1$2$3替換
re.Pattern="(<TD[^>]*>)[ s]*<P[^>]*>([^>]*)</P>s?(</TD>)"
Data=re.Replace(Data,"$1$2$3")
請先備份,以防意外。
=================================================================
又一次回復,嘿嘿,寫出一個,但要有條件:要刪的P標簽要和</TD>同一行,並且在前面。(只能想到這個笨方法了,靠</TD>來辨別是不是在TD里)
</?P[^>]*>(?=.*</TD>)
請先備份,否則有意外,別怪我。
========================================================
不知怎的不支持(?<=exp),有點難纏。恕小生學藝未精。
期待高手,關注中……
========================================================
處理這些固定的字元串用Replace就好了
a="<TDwidth=69rowSpan=2><Pclass=MsoNormal>日期</P></TD>"
a=Replace(Replace(a,"<Pclass=MsoNormal>",""),"</P>","")
MsgBoxa
=========如果你非要用正則表達式,也拿你沒辦法===========
a="<TDwidth=69rowSpan=2><Pclass=MsoNormal>日期</P></TD>"
Setre=CreateObject("VBScript.RegExp")
re.IgnoreCase=False'是否區分大小寫
re.Global=True'只匹配搜索到的第一個還是全部
re.Pattern="</?P[^>]*>"'定義正則表達式,不管P標簽裡面等於什麼鬼都好。
a=re.Replace(a,"")'用空字元""替換匹配到的
MsgBoxa
8. 很奇怪這段正則為什麼連大寫字母也一並過濾掉
不奇怪,"-"在這里有范圍的意思。a-z表示a到z。
因為+-_這里當作是+到_之間的字元。
ascii表裡+是43,_是95
A-Z是65~90所以大寫的會被砍掉
//把-移動到第一個位置
varpattern=newRegExp("[-`~·!@#$^&*()=|{}':;',\[\].<>/?~!@#¥"……&*()——|{}【】『;:」「'。,、?+_%《》]");
//或者轉義
varpattern=newRegExp("[`~·!@#$^&*()=|{}':;',\[\].<>/?~!@#¥"……&*()——|{}【】『;:」「'。,、?+\-_%《》]");
9. PHP正則表達式問題:/<[^>].*>.*<\/>/si 這是一句過濾所有腳本的表達式。能詳細解釋下不
<除了「>」的任意n個字元字元>任意字元</>,不分大小寫
大多數正則表達式的解析都一樣的,
i表示不區分大小寫,
s是修正符,模式中的圓點元字元(.)匹配所有的字元,包括換行符。沒有此設定的話,則不包括換行符。
[^>]表示匹配非>字元,「.」表示匹配所有的字元。
<\/>匹配</>,\是轉義符,\/即表示/
10. 請教一個過濾的UBB正則表達式
不是特別明白你的意思,隨便寫了一個只匹配中文的,其他過濾, 你先試一下 是不是你要的效果?
<script>
function nohtml(str) {
var r="";
var re=new RegExp("[\u4e00-\u9fa5]{1,}","g");
if(str.match(re)!=null)r=str.match(re);
document.all.txtHTML.value=r;
}
</script>
<b>Enter an String:</b><br>
<textarea name="txtHTML" cols="50" rows="8" wrap="virtual" onMouseOut="nohtml(this.value);">[b]測試[/b]</textarea>
<p>
</form>