Regex 排除單字方法(Lookarounds)
這次專案有用到 email 學生任證,有想一個用 email 方法
但這次需求要把一些教育信箱排除在外…
查了一下 regex 好像沒法對特定單字做
不過我有實做一個方法(不知道有沒有漏洞)
a(?!xxx)
不會抓 axxx,但會抓 ax,axx,aoxxx 的a
a(?=xxx)
會抓 axxx 的a
(?:xxx)
2019-12-08
這邊 xxx 一樣是連詞
|
|
Regular Expression for Or | “|” Regex | Regular Expression I | OCPsoft
不會算 group
最後再沒有找到資料情況下,有例用上面 3 個想到一個方法
@(?!nfu)\S*edu.tw
例用(?!xxx)
跟\S
(非空白字符)
真的太久沒有寫會忘 orz
我每次都是寫的時候再查
|
|
http://www.w3school.com.cn/js/jsref_regexp_whitespace.asp
regex - Regular expression to match a line that doesn’t contain a word? - Stack Overflow
還有看到這篇,但好像不實用
Regex Cheat Sheet看到裡面還有很多不會
感覺還有更深的東西。有時間再食用。
2019-07-25
今天在改 PHP 程式,由於要改一些程式把xxx_line
去除掉
但是跟 PHP __LINE__
衝突
不過後來找到正規化去除(?<!_)_line
無聊技術研究: RegExp 應用: lookahead , lookbehind 備份圖
裡面有提到lookahead
(往前看)
Positive lookahead : a(?=Y)
Negative lookahead : a(?!Y)
剛我這個例子是用lookbehind
(往後看)
之前沒有記錄到
Positive lookbehind : (?<=Y)a
Negative lookbehind: (?<!Y)a
參考來源:
- regex – 排除单词/字符串的正则表达式 - 代码日志
- regex - Regular expression to match a line that doesn’t contain a word? - Stack Overflow
- Match string not containing string - Regex Tester/Debugger
- 正则的扩展 - ECMAScript 6 入门
Regex 群組與環顧 Groups & Lookaround - 正規表示法教學 Regular Expression Tutorial 備份圖