這很簡單,但我仍然難以確定我的答案是否正確。正則表達式匹配連字號的範圍
我想匹配以下格式的字符串:
- 70-60
- 50-40
- 100-90
- 等.....
我今天才開始學習正則表達式,並且我制定了以下模式來匹配字符串:
/^[0-9]+-[0-9]+/$
但是,在一個在線正則表達式測試工具中測試它後,我發現它不匹配。
任何能幫助我的指針?提前致謝。
這很簡單,但我仍然難以確定我的答案是否正確。正則表達式匹配連字號的範圍
我想匹配以下格式的字符串:
我今天才開始學習正則表達式,並且我制定了以下模式來匹配字符串:
/^[0-9]+-[0-9]+/$
但是,在一個在線正則表達式測試工具中測試它後,我發現它不匹配。
任何能幫助我的指針?提前致謝。
工作了最後表達... !!!
/[\d]+:?[\d]*/
這將檢查以下每個
100:90
90:70
謝謝大家對u'r寶貴意見......
它也會匹配'100:' - 那是你想要的嗎?通常情況下,人們只有在後面有東西時纔想匹配分隔符:'/ \ d +(?:: \ d +)?/' – 2009-11-06 13:41:23
正則表達式(PHP/Perl的語法類似:
m/^[\d]+\s*-\s*[\d]+$/m
測試:
70-60
50-40
100 -90
所有三個測試字符串匹配
注意尾部m
使這是一個多行匹配(導致m
使這是一個匹配的正則表達式不是替代正則表達式)。如果你把所有的測試數據都放在測試區域,並且不使用多行匹配,它就不會匹配(它可能會匹配第一個......),因爲它試圖匹配整個輸入(^到$ ),但該正則表達式只會匹配每一行。將測試數據更改爲只有一個(70-60
),它的工作原理沒有m
。
^[\d]+-[\d]+$
以及其他一些答案適用於您的測試數據IF,您檢查^ $匹配換行符。
/^[\d]+-[\d]+$/m
然後將你應該使用
是你想要匹配唯一文本的文本,還是它在一些其他字符串 - 它具有consequ爲你的正則表達式。 – 2009-11-06 07:34:18