[英]Regular expression - check if its the pattern at the end of string
我有一個這樣的字符串列表:
something-12230789577
我需要提取以問號符號或NOTHING結尾的數字(這意味着找到的模式在字符串的末尾)匹配這里應該是:'12230789577'我寫道:
r'\d+[?|/|]'
但在此示例中它不返回任何結果。 \s 適用於空格符號,但在這里我遇到了一個空符號,因此不需要 \s。 如何將空符號(字符串結尾)添加到正則表達式條件?
這可能有效:
re.search(r'\d+[?]?', t)
其中t
是文本輸入[]
檢查字符?
檢查 0 或 1 次出現。
保留?|/ 符號可選(0 或 1)。
import re
a='something-A12230789577'
b=re.search(r'\d+[?|/]?',a)
b
我已經找到了解決方案。 它搜索以“-”符號開頭並以: ? 或/或什么都沒有。
(?<=-)\d+(?=>\?|[?]|\?|$)
所以在 Python 中:
re.search(r'-(\d+)(?:[?|/].*)?$', text)
測試示例:
something-37238?somerandomstuff900
輸出:37238
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.