如何使用正则表达式(Regex)根据句号获取子字符串?
提取字符串中句号后的内容
刚好碰到过类似需求,给你整理个清晰的方案:
核心正则表达式
要精准匹配句号之后的所有内容,用这个正则就够了:
\.(.*)
拆解一下逻辑
\.:必须转义句号,因为正则里的.默认是匹配任意字符的通配符,转义后才会匹配字面意义的.。(.*):这是一个捕获组,.*会匹配句号之后的所有字符(包括空格,*表示匹配0次或多次,.覆盖除换行外的任意字符)。
优化处理开头空格
如果你的目标内容开头带空格(比如示例里的 I also like camels),想直接去掉开头的空白,用这个优化版:
\.\s*(.*)
这里的\s*会自动匹配0个或多个空白字符(空格、制表符都算),确保捕获到的内容从有效文本开始,不用额外处理空格。
实际代码示例(以Python为例)
用你提供的示例字符串测试:
import re original_str = "i like cows. I also like camels" # 用优化版正则匹配 match = re.search(r"\.\s*(.*)", original_str) if match: result = match.group(1) print(result) # 输出正好是你要的: I also like camels
内容的提问来源于stack exchange,提问作者Faqahat Fareed
相关产品推荐
相关产品推荐

