尝试在句子的第一段句子之前获得所有内容的惰性正则表达式匹配。
e.g。只想得到"杰克和吉尔。"从这句话:
"杰克和吉尔。上山了。拿一个桶。"
/.+\./
匹配整个句子(example)
/(.+?\.)/
匹配每个实例(example)
有没有办法匹配第一个实例?
答案 0 :(得分:4)
FileWriter
让我们分解,
Graph
是换行符
/^([^.]+)/
这匹配任何不是句号的字符
^
要等到一段时间
表达式用()封装以捕获它。
答案 1 :(得分:1)
如果您只想要第一次出现,请不要选择返回字符串中所有结果的scan
方法。您可以使用返回MatchData实例的match方法,但您也可以简单地写:
> "jack and jill. went up the hill. to fetch a pail."[/.+?\./]
=> "jack and jill."
答案 2 :(得分:0)
我倾向于使用正则表达式,但还有其他选择。
str = "jack and jill. went up the hill. supposedly to fetch a pail of water."
str[0..i] if i = str.index('.')
#=> "jack and jill."
str = "three blind mice"
str[0..i] if i = str.index('.')
#=> nil