匹配句号后接任意空格加特定字符串的正则及匹配方法咨询
匹配句号后空格加特定字符串的正则方案
正则表达式写法
假设你要匹配的特定字符串是**(可替换为任意目标字符串),对应的正则表达式为:
\.\s*(\*\*)
\.:匹配字面意义的句号(.在正则中是通配符,需转义)\s*:匹配任意数量的空白字符(包括空格、制表符等,*表示0个或多个)(\*\*):用捕获组包裹目标字符串,方便后续提取;若目标字符串含正则特殊字符(如*、+),需同样转义
如果目标字符串不含特殊字符(比如test),正则可简化为:
\.\s*(test)
获取匹配结果的方法
Python 示例
import re text = "这是测试内容.** 还有这个. ** 以及这个. **" pattern = r"\.\s*(\*\*)" # 提取捕获组里的特定字符串 target_matches = re.findall(pattern, text) print(target_matches) # 输出: ['**', '**', '**'] # 提取包含句号和空格的完整匹配项 full_matches = re.findall(r"\.\s*\*\*", text) print(full_matches) # 输出: ['.**', '. **', '. **']
JavaScript 示例
const text = "这是测试内容.** 还有这个. ** 以及这个. **"; const pattern = /\.\s*(\*\*)/g; const targetResults = []; let match; while ((match = pattern.exec(text)) !== null) { targetResults.push(match[1]); // 提取捕获组内的特定字符串 } console.log(targetResults); // 输出: ['**', '**', '**']
Java 示例
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo { public static void main(String[] args) { String text = "这是测试内容.** 还有这个. ** 以及这个. **"; Pattern pattern = Pattern.compile("\\.\\s*(\\*\\*)"); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println(matcher.group(1)); // 逐个输出匹配到的特定字符串 } } }
内容的提问来源于stack exchange,提问作者sdds
相关产品推荐
相关产品推荐

