显然,您可以使用|(管道?)来表示OR,但有没有办法表示AND?
具体来说,我想匹配包含某个短语的所有文本的段落,但没有特定的顺序.
假设我有以下数据框:
User.Id Tags
34234 imageUploaded,people.jpg,more,comma,separated,stuff
34234 imageUploaded
12345 people.jpg
Run Code Online (Sandbox Code Playgroud)
我如何使用grep(或其他工具)来获取包含"imageUploaded"和"people"的行?换句话说,我怎么能创建一个只包含字符串"imageUploaded"和"people.jpg"的行的子集,而不管顺序如何.
我试过了:
data.people<-data[grep("imageUploaded|people.jpg",results$Tags),]
data.people<-data[grep("imageUploaded?=people.jpg",results$Tags),]
Run Code Online (Sandbox Code Playgroud)
有AND运算符吗?或者也许是另一种获得预期结果的方法?
我这个以前的(类似)的问题在与崇高3几个文件多串的搜索是回答一个办法来搜索在SublimeText多个文件多串,用正则表达式OR运算符:
Find: (string1|string2)
Where: <open folders>
Run Code Online (Sandbox Code Playgroud)
这完全适用于搜索文件,其中任一 string1或string2存在.我现在需要的是在大量文件中搜索两个字符串.即,我需要使用AND运算符.
我环顾了这个问题正则表达式:是否有AND运算符?还有这一个Regex AND运算符,并提出了以下配方:
(?=string1)(?=string2)
(?=.*string1)(?=.*string2)
(string1 string2)
(string1\&string2)
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用.
所以问题是:如何使用SublimeText一次搜索多个文件中的多个字符串?
(我正在使用SublimeText 3103)
添加:字符串不一定在同一行.它们可以位于每个文件中的任何位置.例如,这个文件:
string1 dfgdfg d dfgdf
sadasd
asdasd
dfgdfg string2 dfgdfg
Run Code Online (Sandbox Code Playgroud)
应该触发一场比赛.
我想匹配,不与任何一端线.或!并且不与任何一端."或!"因此它应该同时匹配
say "bye"say "bye但不应该匹配:
say "bye.say "bye!say "bye."say "bye!"我尝试使用正面和负面的前瞻,尝试将它们用作正则表达式 AND 运算符中建议的AND,但我无法使其工作,我也不确定使用前瞻是可行的。
我做了以下正则表达式:
(\d{5}|\d-\d{4}|\d{2}-\d{3}|\d{3}-\d{2}|\d{4}-\d)
Run Code Online (Sandbox Code Playgroud)
它似乎工作.也就是说,它将匹配5位数字或5位数字,其中只有1个连字符,但连字符不能是引导或结束.
我想要一个类似的正则表达式,但对于一个25位数字.如果我使用与上面相同的策略,正则表达式会很长.
任何人都可以建议一个更简单的正则表达式?
附加说明:我将此正则表达式放入一个XML文件中,该文件将由ASP.NET应用程序使用.我无法访问.net后端代码.但是我怀疑他们会做点什么:
Match match = Regex.Match("Something goes here", "my regex", RegexOptions.None);
Run Code Online (Sandbox Code Playgroud) regex ×5
and-operator ×1
asp.net ×1
grep ×1
jedit ×1
lookahead ×1
r ×1
search ×1
sublimetext ×1
sublimetext3 ×1
xml ×1