我现在已经尝试了几天写一个正则表达式,它将捕获以特定字符串开头的句子,并以不允许的字符(<)结束。这句话可能包含任何标点符号(在我的头顶[]()-,.!?\/
),最重要的是'
和"
,但总是会以同样的事情开始(<)。所以我的正则表达式如下:
"starting string foo (?:[a-zA-z0-9_]|[-,.!?()\[\]\'\"\/]|[\s])+"
这样可以正常工作,所有句子都以&#34开头;起始字符串为foo"并以<结束后。它成功地获得了每一个标点符号的句子....除了双引号(")。我不明白为什么会出现这种情况,因为它很容易得到单引号(')和其他标点符号,例如。斜线和破折号。
例如 - 字符串
starting string foo Hubble revisits the famous "pillars of creation" with a new lens <
它只捕获
starting string foo Hubble revisits the famous
但是像
这样的字符串 starting string foo Buzz Aldrin's self-portrait during Gemini 12 with the Earth reflecting off his visor, 12 November 1966 [2651x2632] <
带有各种标点符号(&#39; - [,)它可以捕获我想要的所有内容 -
starting string foo Buzz Aldrin's self-portrait during Gemini 12 with the Earth reflecting off his visor, 12 November 1966 [2651x2632]
答案 0 :(得分:2)
有什么问题
/starting string foo (.*)\</