C# 正则表达式解析有时在数字旁边包含额外 space 的字符串
C# regular expression to parse a string sometimes containing extra space next to the digit
我正在尝试更改常规。下面的表达式将月份和日期之间的额外 space 考虑在内,如下所示:
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s\d{1,2}\s\d{1,2}:\d{1,2}
rats 1.4K Sep 9 08:10 /opt/rats/prod ===> it returns blank
rats 1.4K Sep 12 08:10 /opt/rats/prod ===> returns "Sep 12 08:10"
If I add \s it works in the first string but it breaks on the second string:
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s\s\d{1,2}\s\d{1,2}:\d{1,2}
谢谢
您可以试试这个:\s{1}\d{2}
或 \s{2}\d{1}
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))(\s{1}\d{2}|\s{2}\d{1})\s\d{1,2}:\d{1,2}
要完全匹配额外的 space
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s{1,2}\d{1,2}\s\d{1,2}:\d{1,2}
匹配任意数量的额外 spaces
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s+\d{1,2}\s\d{1,2}:\d{1,2}
我正在尝试更改常规。下面的表达式将月份和日期之间的额外 space 考虑在内,如下所示:
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s\d{1,2}\s\d{1,2}:\d{1,2}
rats 1.4K Sep 9 08:10 /opt/rats/prod ===> it returns blank
rats 1.4K Sep 12 08:10 /opt/rats/prod ===> returns "Sep 12 08:10"
If I add \s it works in the first string but it breaks on the second string:
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s\s\d{1,2}\s\d{1,2}:\d{1,2}
谢谢
您可以试试这个:\s{1}\d{2}
或 \s{2}\d{1}
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))(\s{1}\d{2}|\s{2}\d{1})\s\d{1,2}:\d{1,2}
要完全匹配额外的 space
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s{1,2}\d{1,2}\s\d{1,2}:\d{1,2}
匹配任意数量的额外 spaces
(?:(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\s+\d{1,2}\s\d{1,2}:\d{1,2}