我正在寻找一个正则表达式来匹配整个字符串中特定单词的开头。说我有这个:
这是示例文本字符串。
我希望匹配每个开始一个单词的T:
T 他的 t t 分机的示例字符串。
非常感谢任何帮助。
答案 0 :(得分:1)
尝试使用irb(Ruby):
irb(main):001:0> "This is the example string of text.".scan(/\bt\w+/i)
=> ["This", "the", "text"]
代表/\bt\w+/i
,\b
是边界,t
是您要开始的字符t
,\w+
是字母数字或下划线,发生一次或多次。 i
是忽略大小写。
如果您只想要字母并且只想匹配t
,那么您可以使用
irb(main):002:0> "This is the example string of text.".scan(/\bt[a-z]*/i)
=> ["This", "the", "text"]
[a-z]
表示从a
到z
的字符类。 *
表示发生0次或更多次。
答案 1 :(得分:1)
我相信\b
元字符会将正则表达式限制为"字边界",这意味着它会让您只匹配"整个单词"。通过在正则表达式的开头使用\b
,您可以匹配任何内容,只要它能够开始一个单词。
在你的例子中:
\b[tT]
同样,如果您希望在单词结尾处匹配字母 T ,则只需将\ b放在正则表达式的末尾。