[英]unable to make a regular expression using javascript
我想為我的大學注冊號碼做一個正則表達式。 我成功率75%。 我是新人,我不知道該怎么做。 這就是我在做的事情。
<!DOCTYPE html>
<html>
<body>
<script>
str = "l1s10bscs"; //successfully tested
//but i want to append any 4 digits at the end of l1s10bscs
re = /[a-zA-Z]\d{1}[s|S|f|F]\d{2}[bscs]/g;
result = re.test(str);
document.write(result);
</script>
</body>
</html>
我試過這個,但它不起作用。
re = /[a-zA-Z]\d{1}[s|S|f|F]\d{2}[bscs][0-9]{4}/g; // this doesn't work
/[a-z]\d[sf]\d{2}bscs\d{4}/i
根據你的描述,這應該適合。
我改變了以下內容:
[bscs]
不需要放在方括號中:方括號表示b
或s
或c
或s
。 它沒有數字,因為它匹配“l1s10b”,但下一個字符不是數字,所以尋找4位數失敗。 嘗試這個:
re = /[a-zA-Z]\d{1}[s|S|f|F]\d{2}bscs[0-9]{4}/g;
你似乎混淆了[]
和()
。
()
創建一個組,而[]
表示“匹配來自內部的任何字母”。
[s|S|f|F]
表示's' OR '|' OR 'S' OR 'f' OR 'F'
's' OR '|' OR 'S' OR 'f' OR 'F'
。 那應該是(s|S|f|F)
或[sSfF]
。
注意:您可以使用i
修飾符使其不區分大小寫。
re = /[a-z]\d[sf]\d{2}bscs\d{4}/gi;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.