मैं यह जांचना चाहता हूं कि एक हैशटैग के बाद एक नियमित टेक्स्ट या एक अन्य हैशटैग एक पायथन स्ट्रिंग में है या नहीं। उदाहरण के लिए मामले के लिए:
"my adjectives names #Day #Night which are in the description"
, मुझे झूठा लगता है, क्योंकि पहले हैशटैग के बाद फिर से एक हैशटैग आता है। लेकिन अन्य मामलों में उदाहरण के लिए
"my adjectives names #Day which is in the description"
मैं सच हो जाऊंगा। मैं पाइथन में नियमित अभिव्यक्ति संचालन के साथ ऐसा कैसे कर सकता हूं?
मैंने कोशिश की:
tweet_text = "my adjectives names #Day #Night which are in the description"
pattern = re.findall(r'\B#\w*[a-zA-Z0-9]+\B#\w*[a-zA-Z0-9]*', tweet_text)
print(pattern)
लेकिन यह मुझे कोई आउटपुट नहीं देता है।
2 जवाब
दुभाषिया से एक उदाहरण:
>>> import re
>>> pat = re.compile(r'(#\w+\s+){2,}')
>>>
>>> text = 'my adjectives names #Day which are in the description'
>>> pat.search(text)
>>>
>>> text = 'my adjectives names #Day #Night which are in the description'
>>> pat.search(text)
<_sre.SRE_Match object; span=(20, 32), match='#Day #Night '>
ऐसे हैशटैग के लिए जो नहीं हैं और उसके बाद किसी अन्य हैशटैग का उपयोग किया जाता है:
input = "my adjectives names #Day #Night which are in the description"
matches = re.findall(r'#[^#\s]+\b(?!\s+#[^#]+)', input)
print(matches)
['#Night']
और ऐसे हैशटैग के लिए जो हैं और उसके बाद दूसरा हैशटैग आता है, बस नकारात्मक लुकहेड को सकारात्मक के साथ बदलें:
matches = re.findall(r'#[^#\s]+\b(?=\s+#[^#]+)', input)
print(matches)
['#Day']
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।