[英]Using Regex In Python To Find Substring?
我有一個字符串:
line_to_test = "http://website/[SequenceOfLetters&NumbersONLY].html"
我想要一個正則表達式來匹配上述模式:
我目前嘗試過的是:
c = len(re.findall(r"http:\/\/website\/([a-zA-Z0-9]?).html",line_to_test))
但是即使line_to_test
包含模式,這里的c
也會為空。
?
意味着它之前的任何內容都是可選的,在這種情況下是[a-zA-Z0-9]
。 這意味着您可以有0
次或1
次的字母或數字。
您應該使用*
, 選擇它0
次或更多次,或使用+
, 選擇它1
次或更多。
試試這個正則表達式:
c = len(re.findall(r"http:\/\/website\/([a-zA-Z0-9]+).html",line_to_test))
如果您使用*
,它將與([a-zA-Z0-9]+)?
,這意味着http://website/.html
可以工作。
?
只會匹配 0 或 1 個字符。 嘗試
c = len(re.findall(r"http:\/\/website\/([a-zA-Z0-9]+).html",line_to_test))
您可以使用像 regexr 這樣的在線服務來測試您的正則表達式: http ://regexr.com/3d301
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.