gpt4 book ai didi

ruby - 正则表达式匹配包括新行

转载 作者:数据小太阳 更新时间:2023-10-29 07:11:09 25 4
gpt4 key购买 nike

我有一个正则表达式来获取 "*" 之间的所有内容:

str = "Donec sed odio dui. *Nullam id dolor id nibh ultricies vehicula ut*"
str.match(/\*(.*)\*/)[1]

我希望匹配能够包含换行符。我该怎么做?

最佳答案

您需要使用允许点匹配新行的 m 选项:

Donec sed odio dui. *Nullam id dolor id 
nibh ultricies vehicula ut*

regex str.match(/\*(.*)\*/m)[1] 实例:http://www.rubular.com/r/11u9TreEOL

您的表达式将捕获第一个和最后一个 * 符号之间的文本,但是如果您想捕获每组 * 之间的所有文本,那么您需要使 .* 不像

那样贪婪

str.match(/\*(.*?)\*/m)[1] 实例 http://www.rubular.com/r/rBLOnwy3By

或者您可以告诉它简单地匹配所有非 * 字符,例如,请注意不需要 m 选项,因为换行符将与否定字符匹配[^*] 字符类:

str.match(/\*([^*]*)\*/)[1] 实例 http://www.rubular.com/r/dhQzZ58ZzM

关于ruby - 正则表达式匹配包括新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17614666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com