मान लीजिए उसमें केवल एक ही साथ एक स्ट्रिंग से मेल खाते हैं वहाँ दो तार कर रहे हैं:अजगर regex: एक चरित्र
$1 off delicious ham.
$1 off delicious $5 ham.
अजगर में, मैं एक regex जब केवल एक स्ट्रिंग में $ है वहाँ से मेल खाता है कि हो सकता है? यानी, मैं आरई को पहले वाक्यांश पर मिलान करना चाहता हूं, लेकिन दूसरे पर नहीं। मैं कुछ ऐसा करने की कोशिश की: "। मैच है, जिसमें आपको एक $ और $ के लिए के अलावा कुछ के बाद"
re.search(r"\$[0-9]+.*!(\$)","$1 off delicious $5 ham.")
..saying $$ उदाहरण पर कोई मिलान नहीं था, लेकिन $ उदाहरण पर कोई मिलान भी नहीं था।
अग्रिम धन्यवाद! जांच के लिए
सरल परीक्षण विधि:
def test(r):
s = ("$1 off $5 delicious ham","$1 off any delicious ham")
for x in s:
print x
print re.search(r,x,re.I)
print ""
स्ट्रिंग के '.count()' विधि का उपयोग क्यों न करें? –
मैं जूते में एक आरई-होर्निंग एक उपकरण में हूं जो मुझे कोई अतिरिक्त तर्क जोड़ने नहीं देता है। तो मैं नहीं कर सकता "अगर गिनती (str," $ ")> 1: पास करें"। मुझे इस तरह की स्ट्रिंग पर अभी मिलान करने की आवश्यकता नहीं है। – Chris