2016-03-01 28 views
-1

我如何寫正則表達式在Python中的字符串,其中包含兩個字符分鐘。 1倍時間。Python的正則表達式兩種字符包含

比如我要找的字符6=

的String1:Test 6 =是正確的。
String2:6 test =是正確的。
STRING3:=6是正確的。
String4:Test 5 - 8不正確。
STRING5:Test 6不正確。
String6:Test =不正確。

我試圖[6+=+],但不能正常工作。 謝謝。

+0

你可以編輯你的解釋和例子,使之更清楚嗎?你正在尋找一個字符串,它包含'6,+,='中的兩個字符嗎?也許給更多的例子,並解釋他們爲什麼好或壞。 –

+2

在你的情況下,'re'表達真的有必要嗎?... –

回答

3

我覺得正向前查找可能是您的解決方案在這裏。

測試和工作:

(?=.*[6])(?=.*[=]).* 

我在regex101.com試了一下,您也可能會發現有用的,而測試您的正則表達式。

+0

非常感謝。這是完美的工作。 :) – Joozty

0

如果您在字符串中的任何地方尋找兩個字符。你可能不需要重新。

for item in ['6', '=']: 
    found = string_to_search.count(item) 
    # item must be present 
    if not found: 
     # handle bad data 
    # make sure there is only one match 
    if found > 1: 
     # handle bad data 
0

一般來說,使用正則表達式是慢然後使用字符串操作。我認爲你可以使用像這樣的東西更有效地解決你的問題:

>>> a 
'test 6 =' 
>>> [idx for idx, ch in enumerate(a) if ch == '6' or ch == '='] 
[5, 7] 
相關問題