У меня есть этот patter p
и вы хотите использовать этот шаблон, чтобы узнать, есть ли у него какие-либо соответствия. Это в Python.regex matching parsing
p = "keyword" + ".*?(\d+(\.\d+)?[\s%]?[\w/]*)" found = re.findall(p, some_text)
У меня есть проблемы при разборе это регулярное выражение.
Что такое первый «?».
Я понимаю, что «. *» Соответствует любой вещи в течение 0 или более раз. Но не знаете, что такое "?" здесь.
Странно видеть скобку вложенной группы захвата. Что оно делает?
Что такое "?" в
[\s%]?
regex? Я предполагаю, что это соответствует пробелу, а затем «%». Но не знаете, что такое "?" здесь.Что является звездочкой в области
[\w/]*
regex? Я предполагаю, что это соответствует любому символу слова, за которым следует косая черта. Но не уверен, что делает «*».
Возможный дубликат [Ссылка - что означает это регулярное выражение?] (Http://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean) – MYGz