2016-03-03 136 views
-2

我需要編寫一個正則表達式匹配模式代碼,如果兩個單詞之間只有一個「+」而沒有其他值,則返回true。我寫了代碼來檢查字符串中是否只有一個'+',但是如何檢查它是在兩個字之間? 的代碼如下:正則表達式匹配 - Python

import re 

inputStr= "ali+ahmedafaw+" 
inputStr2= "hello+world+again" 

plus=re.findall(r'[+]', inputStr) 

print (plus) 

l_plus=len(plus) 
print "The length is ",l_plus 

if l_plus<=1: 
    print "True" 
else: 
    print "False"  
+0

像'W + \ + \ w +'? – Maroun

+0

可能的重複[參考 - 這是什麼正則表達式?](http://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean) –

+4

它是「正則表達式」中的「正則表達式」不是「redex」 –

回答

1

其實這取決於你的意思是什麼。如果您的意思是包含多個字符的單詞,則可以簡單地在+字符周圍使用[a-zA-Z]+。或者其他與不同字符匹配的模式,如\w匹配單詞字符。

re.search(r'[a-zA-Z]+\+[a-zA-Z]+', input_str) 

但如果你只是希望它不會出現在領導和你的文字後,您可以使用負環視:

re.search(r'(?<!^)\+(?!$)', input_str)