![](/img/trans.png)
[英]The same regex pattern that works fine doesn't work implemented into a Class
[英]Same regex works in one script, doesn't work in another
我有一個簡單的正則表達式( '(\\b) +-{1,} +(\\b)'
),它包含在腳本中( txt2tex.py ;行號17和48是重要的),可以將其指定為命令行中的另一個腳本( multilineRegex.py ;只需將一個正則表達式作為第一個參數,替換文本作為第二個參數,並將文件名作為第三個參數進行匹配)就可以了。
在txt2tex.py中求值時,正則表達式與給定的輸入文本不匹配,但是當我將其復制並粘貼到命令行並按以下方式調用multilineRegex.py時,它會按預期工作:
multilineRegex.py '(\b) +-{1,} +(\b)' '---' input.txt
我在玩正則表達式時注意到了這種差異。 關於我在做什么錯的任何想法嗎?
使用以下行來驗證此行為:
Here's something - arbit for you to think of.
細節:
這是因為您的shell將\\b
解釋為控制字符(退格鍵)。 您可以通過執行以下操作來證明這一點:
$ echo 'hello\bworld'
hellworld
將正則表達式提供給腳本時,請使用其他反斜杠對其進行轉義:
multilineRegex.py '(\\b) +-{1,} +(\\b)' '---' input.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.