我有一个在雅虎管饲料,并希望匹配后一个问号的一切。
到目前为止,我已经找到了如何匹配问号使用. 。
\?
现在匹配问号后面的所有内容。
试试这个:
\?(.*)
括号是一个捕获组,您可以使用它来提取您感兴趣的字符串部分。
如果字符串可以包含新的行,你可能必须使用“点全部”修饰符来允许点匹配新的行字符。您是否必须这样做,以及如何这样做,取决于您所使用的语言。看来你忘记提到你在问题中使用的编程语言了。
如果您的语言支持固定宽度的后视断言,您可以使用的另一种选择是:
(?<=\?).*
您需要第一个捕获组的内容。
看看这个网站: http://rubular.com/基本上,这个网站允许你输入一些示例文本(你在你的网站上寻找) ,然后当你构建正则表达式时,它会突出显示实时匹配的内容。
\?(.*)$
如果要匹配“后面的所有字符”您可以使用组来匹配任何字符,最好使用“ $”符号来表示行的结束。
使用 积极的回头看技术:
(我们正在搜索一个前面有问号的文本)
Input: derpderp?mystring blahbeh Output: mystring blahbeh
例子
基本上,?<=是一个组构造,在进行任何匹配之前,需要是转义问号。
?<=
它们的性能非常好,但并非所有的实现都支持它们。
str.replace(/^.+?\"|^.|\".+/, '');
如果您想在“”之间选择要删除的其他内容,并且在一个字符串中不能使用它超过两次,那么有时候这样做是不好的。它所做的就是选择任何不在“”和“没有”之间的东西来替换它。
即使对我来说,这也有点令人困惑,但我会尽力解释清楚。^.+?(不是任何可选的)直到第一个 "然后 |或者/停止(仍然在研究它的真正含义)直到/在 ^.没有选择任何东西直到第二个 "使用(|停止/在)。然后选择所有接下来要做的事。+.
^.+?
"
|
^.
? (. * n) +
有了这个,你可以得到一切,甚至一个新的路线