如何使用Ruby regex匹配以t开头r结尾的单词并替换为Twitter
Ruby 正则匹配替换t开头r结尾单词的解决方案
核心实现思路
使用Ruby字符串的gsub全局替换方法,配合带单词边界匹配的正则表达式,确保只替换完整符合要求的独立单词,不会误匹配单词内部的字符片段。
具体实现代码
1. 大小写敏感版本(仅匹配小写t开头、小写r结尾的单词)
# 正则解释: # \b : 匹配单词边界,确保是独立单词的开头/结尾 # t : 匹配单词开头的小写字母t # [a-z]* : 匹配0个或多个小写字母(如果需要兼容数字/下划线可替换为\w*) # r : 匹配单词结尾的小写字母r result = your_str.gsub(/\bt[a-z]*r\b/, 'Twitter')
2. 大小写不敏感版本(兼容T开头、R结尾的单词)
在正则末尾添加i修饰符即可忽略大小写匹配:
result = your_str.gsub(/\bt[a-z]*r\b/i, 'Twitter')
测试示例
input = "tr tiger tester car Tr Tiger" # 使用大小写不敏感版本替换 output = input.gsub(/\bt[a-z]*r\b/i, 'Twitter') puts output # 输出结果:Twitter Twitter Twitter car Twitter Twitter
内容的提问来源于stack exchange,提问作者Bibek Adhikari
相关产品推荐
相关产品推荐

