В программе, которую я делаю на python, и я хочу, чтобы все слова, отформатированные как __word__
, выделялись. Как я могу искать такие слова, используя регулярное выражение?Создайте Reg Exp для поиска __word__?
1
A
ответ
4
Может быть что-то вроде
\b__(\S+)__\b
>>> import re
>>> re.findall(r"\b__(\S+)__\b","Here __is__ a __test__ sentence")
['is', 'test']
>>> re.findall(r"\b__(\S+)__\b","__Here__ is a test __sentence__")
['Here', 'sentence']
>>> re.findall(r"\b__(\S+)__\b","__Here's__ a test __sentence__")
["Here's", 'sentence']
или вы можете поместить теги вокруг этого слова
>>> print re.sub(r"\b(__)(\S+)(__)\b",r"<b>\2<\\b>","__Here__ is a test __sentence__")
<b>Here<\b> is a test <b>sentence<\b>
Если вам нужно больше мелкозернистого контроль над юридическими символами слова, лучше быть явным
\b__([a-zA-Z0-9_':])__\b ### count "'" and ":" as part of words
>>> re.findall(r"\b__([a-zA-Z0-9_']+)__\b","__Here's__ a test __sentence:__")
["Here's"]
>>> re.findall(r"\b__([a-zA-Z0-9_':]+)__\b","__Here's__ a test __sentence:__")
["Here's", 'sentence:']
1
Возьмите squizz здесь: http://docs.python.org/library/re.html
Это должно показать вам синтаксис и примеры, из которых можно построить чек на слово (а) до и после-затрачиваемого 2 подчеркивания.
0
Самое простое регулярное выражение для этого было бы
__.+__
Если вы хотите получить доступ к самому слову из вашего кода, вы должны использовать
__(.+)__
0
Это даст вам список всех таких слов
>>> import re
>>> m = re.findall("(__\w+__)", "What __word__ you search __for__")
>>> print m
['__word__', '__for__']
0
\b(__\w+__)\b
\b
граница слова
\w+
один или несколько символов слова - [a-zA-Z0-9_]
0
простые строковые функции. нет регулярных выражений
>>> mystring="blah __word__ blah __word2__"
>>> for item in mystring.split():
... if item.startswith("__") and item.endswith("__"):
... print item
...
__word__
__word2__
Смежные вопросы
- 1. Reg Exp для YouTube ссылки
- 2. Reg Exp в javascript
- 3. Reg exp in matlab
- 4. javascript reg exp
- 5. Bash reg-exp substitution
- 6. DatetimePicker: Invalid Reg Exp
- 7. Reg EXP Vimeo URL
- 8. Еще один Reg Exp
- 9. Reg exp найти номер
- 10. jQuery REG EXP Условное
- 11. PHP REG EXP вопрос отступаться
- 12. Смущен насчет Emacs Reg exp
- 13. iPhone - Reg Exp для достоверности URL
- 14. reg exp для строки и любых чисел
- 15. Reg exp для замены переменных в URI
- 16. Reg Exp для шаблона Javascript MM/YYYY
- 17. reg exp для проверки диапазона между номерами
- 18. Javascript (ExtendScript) Reg Exp совпадение
- 19. Нужна помощь относительно reg exp
- 20. using python reg exp match str
- 21. Javascript Reg Exp Не согласуется правильно
- 22. Что означает этот reg exp в php?
- 23. Reg Exp слов каждая сторона против
- 24. Сплит-цепочка цепочечных функций с reg-exp
- 25. Как совместить арабские слова с reg exp?
- 26. Почему этот Reg Exp не работает
- 27. PHP reg exp - куда пошел DOI?
- 28. Php reg exp: Соответствующий повторяющийся шаблон
- 29. Кудрявые скобки в awk reg exp
- 30. Использование Python Reg Exp для чтения данных из файла
Эта работа отлично работала для моих нужд. –
'\ S' будет соответствовать любому символу пробела (включая символы), поэтому' .__ + __. 'Будет сопоставлен. – Amarghosh
@Amarghosh, ОП не указывал, что означает «слово», поэтому я интерпретировал его как строку символов без пробелов. Конечно, вы можете использовать '\ w' вместо' \ S', но тогда слова типа «__Here's__» будут разбиты –