我在Yahoo Pipes中有一个Feed,想要在问号后匹配所有内容。
到目前为止,我已经找到了如何使用..来匹配问号。
\?
现在只是为了匹配问号之后/之后的所有内容。
答案 0 :(得分:206)
\?(.*)
您需要第一个捕获组的内容。
答案 1 :(得分:43)
试试这个:
\?(.*)
括号是一个捕获组,可用于提取您感兴趣的字符串部分。
如果字符串可以包含新行,则可能必须使用“全部点”修饰符以允许点与新行字符匹配。您是否必须这样做,以及如何执行此操作取决于您使用的语言。您似乎忘记提及您在问题中使用的编程语言。
如果您的语言支持固定宽度的lookbehind断言,则可以使用的另一种方法是:
(?<=\?).*
答案 2 :(得分:20)
使用正向后视技术:
(?<=\?).*
(我们在这里搜索以问号开头的文字)
Input: derpderp?mystring blahbeh
Output: mystring blahbeh
基本上?<=
是一个群组结构,需要转义的问号,然后才能进行任何匹配。
他们表现得非常好,但并非所有实施都支持他们。
答案 3 :(得分:9)
\?(.*)$
如果你想在“?”之后匹配所有字符你可以使用一个组来匹配任何字符,你最好使用“$”符号来表示行尾。
答案 4 :(得分:2)
查看此网站:http://rubular.com/基本上,该网站允许您输入一些示例文本(您将在您的网站上查找的内容),然后在构建正则表达式时,它将突出显示正在匹配的内容实时。
答案 5 :(得分:0)
str.replace(/^.+?\"|^.|\".+/, '');
当您想在“”之间选择其他要删除的内容并且在一个字符串中使用两次以上时,有时会很难使用。它所做的就是选择“”之间的任何内容,然后将其替换为空。
就我而言,这有点令人困惑,但请尝试解释一下。 ^.+?
(不是可选的),直到第一个"
,然后|
,直到/在^.
之前/直到第二个{ {1}}使用("
停/停)。并选择..之后的所有内容。