Re: [問題] 分析帶括號的四則運算
看板RegExp (正規表示式 Regular Expression)作者godspeedlee (妳,我可以)時間12年前 (2012/07/06 01:31)推噓0(0推 0噓 6→)留言6則, 2人參與討論串2/2 (看更多)
※ 引述《Rplus (R+) (9527)》之銘言:
: 語言: javascript @ Windows
: /* 聽說註明使用的語言、環境
: * 問題有可能較容易被解決...
: */
: 想請問一下
: 有一字串想要確認是否為正確的四則運算
: 該如何寫其regex語法呢?
: 允許的字符如列:
: +-*/1234567890.()
: 開頭可: [0-9\.\(\+\-]
: 結尾可: [0-9\)]
: 錯誤類別: [.0-9]( | )[.0-9] // 數字不與括號直連, 其間需有運算符
: [*/]) | ([*/] // 乘除後緊接右括號 或左括號緊接乘除
: ()左右括號沒有閉合
: 先此寫過~
就小弟所知,如果要用 JavaScript Regex 作到很難,光是巢狀括號批配
就很難了,因為大部分的 Regex engine 並不支援遞迴,只有少部份如
PCRE 可以讓你這樣玩:
(\((?R)\)|[^()]*+)*
這個問題還是用傳統的方法比較容易解決~各大資料結構課本裡面都有
--
http://godspeedlee.myweb.hinet.net/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.96.67
→
07/12 15:37, , 1F
07/12 15:37, 1F
→
07/12 15:38, , 2F
07/12 15:38, 2F
→
07/14 09:44, , 3F
07/14 09:44, 3F
→
07/14 09:44, , 4F
07/14 09:44, 4F
→
07/14 09:45, , 5F
07/14 09:45, 5F
→
07/14 09:45, , 6F
07/14 09:45, 6F
討論串 (同標題文章)
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章