[英]How to extract required groups using C# Regular Expression pattern
我正在學習正則表達式。 我正在嘗試使用以下正則表達式
^(?<type>\W?\w+)(?<middle>\s\w+)?\s(((?<seconds>\d+)[s-]?)?)\s?(?<body>.+?)$
我嘗試匹配的示例字符串是
IDCH測試15s發現Spring Love,您會發現Quelle機會! Fevr16
我想要以下輸出:
類型:IDCH
中:測試tes
秒:15s
身體:發現.....
我沒有使用上述模式得到預期的輸出。 任何人都可以幫助解決我的正則表達式模式的問題嗎?
這是我當前正在得到的:類型:IDCH
中:測試
秒:
身體:tes 15s ........
謝謝
要解析您非常具體的輸入字符串,這對我有用:
^(?<type>\W?\w+)(?<middle>(\s\D+)*)?\s(?<seconds>\d+s)?\s?(?<body>.+?)$
使用\\D
時,中間部分會捕獲除數字以外的所有亂拋垃圾
(?<middle>(\s\D+)*)?
這使秒有機會將數字與\\ d +匹配
(?<seconds>\d+s)?
編輯:
提取秒數,您應該尋找一個以空格開頭並直接跟有s
^(?<type>\W*\w*)(?<middle>(\s\w+)*)(?<seconds>\s\d+s)\s(?<body>.+?)$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.