在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡安全  HTML/ 關(guān)于正則的*和?的實際應用

關(guān)于正則的*和?的實際應用

圖片描述

var str='33a64727198'
console.log(/j?/g.test(str))
console.log(/3?/g.test(str))
都輸出true ..
請問這兩個符號存在的意義是>??

回答
編輯回答
玩控

/3?/g 可以當作 /3|/g
即匹配 /3/g 或 //g 其一
任何字符串匹配//g都返回true

2018年1月27日 17:31
編輯回答
陌如玉

var str='紅富士蘋果'
console.log(/青?/g.test(str)) // true
console.log(/紅?/g.test(str)) // true
可以是青的也可以不是青的就等價于可以是紅的也可以不是紅的,所以/青?/g等價于/紅?/,但是很明顯這樣的正則判斷沒有意義,即可能存在也可能不存在,那還判斷什么。。。

再看
var str='紅蘋果'
console.log(/^青?蘋果$/.test(str)) // false
console.log(/^紅?蘋果$/.test(str)) // true
這樣就看出了兩個正則的區(qū)別了,第一個正則匹配的要么是青蘋果要么是蘋果,第二個正則匹配要么是紅蘋果要么是蘋果。正則是工具,要匹配的字符串是結(jié)果,不同的工具在某些時候可以獲取相同的結(jié)果,但我們關(guān)注的重點是只要結(jié)果是正確的就行了。*號同理

2017年5月29日 15:38
編輯回答
淺淺

你可能把 理解為單個字符只能出現(xiàn)一次,比如:

var str='33a64727198'
console.log(/3?/g.test(str))  //它匹配的不是3在字符串中最多出現(xiàn)1次

而是去匹配字符的時候,該字符只能在匹配結(jié)果中出現(xiàn)0-1次。

var str = 'abbc'
console.log(/ab?c/.test(str1))  // 輸出false

var str = 'abc'
console.log(/ab?c/.test(str))  // 輸出true

你可以使用 str.match(reg) ,這個可以輸出你正則匹配的結(jié)果

var str='33a64727198'

str.match(/3*/g) 
str.match(/3?/g)
2017年8月11日 07:20