I'm trying to search through some files in PHP and I want to give the user a choice between matching any or every term.   E.g.: Search terms: [apple,banana]  Is it possible to return only files that have both words in it?  Also my OR would use the following:   $s_terms = "(" . implode("|", explode(",", $s_terms)) . ")";  I want to separate terms with , and use it in a RegEx match like (apple|banana). Does the above code do that?  Thank you in forward  EDIT:  The other question did not answer my question, but I found something that works: (.*apple.*banana.*)
2704
Obviously, you can use the | (pipe?) to represent OR, but is there a way to represent AND as well?  Specifically, I'd like to match paragraphs of text that contain ALL of a certain phrase, but in no particular order.
7245
I would like to build a regexp in Java that would be passed in a FilenameFilter to filter the files in a dir.  The problem is that I can't get the hang of the regexp "mind model" :)  This is the regexp that I came up with to select the files that I would like to exclude   ((ABC|XYZ))+\w*Test.xml  What I would like to do is to select all the files that end with Test.xml but do not start with ABC or XYZ.  Could you please add any resources that could help me in my battle with regexps.  Thanks  The following resource explains a lot of things about regexp
9185
Just starting to explore the 'wonders' of regex.  Being someone who learns from trial and error, I'm really struggling because my trials are throwing up a disproportionate amount of errors...  My experiments are in PHP using ereg().  Anyway.  I work with first and last names separately but for now using the same regex.  So far I have:  ^[A-Z][a-zA-Z]+$     Any length string that starts with a capital and has only letters (capital or not) for the rest.  But where I fall apart is dealing with the special situations that can pretty much occur anywhere.   Hyphenated Names (Worthington-Smythe)   Names with Apostophies (D'Angelo)   Names with Spaces (Van der Humpton) - capitals in the middle which may or may not be required is way beyond my interest at this stage. Joint Names (Ben &amp; Jerry)   Maybe there's some other way a name can be that I'm no thinking of, but I suspect if I can get my head around this, I can add to it.  I'm pretty sure there will be instances where more than one of these situations comes up in one name.  So, I think the bottom line is to have my regex also accept a space, hyphens, ampersands and apostrophes - but not at the start or end of the name to be technically correct.
14665
I've been looking for a simple regex for URLs, does anybody have one handy that works well?  I didn't find one with the zend framework validation classes and have seen several implementations.
77187
Say I have a file:  # file: 'test.txt' foobar bash 1 bash foobar happy foobar   I only want to know what words appear after "foobar", so I can use this regex:  "foobar \(\w\+\)"   The parenthesis indicate that I have a special interest in the word right after foobar.  But when I do a grep "foobar \(\w\+\)" test.txt, I get the entire lines that match the entire regex, rather than just "the word after foobar":  foobar bash 1 foobar happy   I would much prefer that the output of that command looked like this:  bash happy   Is there a way to tell grep to only output the items that match the grouping (or a specific grouping) in a regular expression?
11473
Using just shell script, how to search a text file and list all whole blocks of lines that has inside some text (simple grep criteria).   The text file has blocks of lines separated by "-----------------" (precisely, each block start with "\n\n\n--------------------"... about 50 chars "-").  A sample could be:  ------------------------------- Abracadabra, blablablalbalba blablablabla, banana    ------------------------------- Text, sample text, sample text, sample text Text, sample text, sample text, sample text Text, sample text, sample text, sample text Text, sample text, sample text, sample text   -------------------------------   Text, sample text, sample text, sample text banana. Sample text, sample text, sample text, sample text Text, sample text, sample text, sample text   Lets consider the word "banana" the search criteria. So, the blocks listed would be:  ------------------------------- Abracadabra, blablablalbalba blablablabla, banana   ------------------------------- Text, sample text, sample text, sample text banana. Sample text, sample text, sample text, sample text Text, sample text, sample text, sample text   EDIT:  Testing answers to try awk, like: awk 'BEGIN{RS="\n------------"}/INFO/{print}' where INFO is what was searched for. I cannot get the whole block. So, follows a real sample and the result:  A REAL SAMPLE (including the first 3 new lines):      ------------------------------------------------- Diretório separado do nome o arquivo: adis, IWZLM (/home/interx/adis/src/IWZLM.SRC) Gerando rotina em linguagem C: (yla5 adis IWZLM -if) .INFO =>Rotina BLOQUEADA (status 'M'): Geracao ignorada (use -is para ignorar checagem do status)  [  OK-I ] IWZLM (adis) - Lista lay: Geracao ignorada do codigo em C.    ------------------------------------------------- Diretório separado do nome d arquivo: adis, ADISA (/home/interx/adis/src/ADISA.SRC) Gerando rotina em linguagem C: (yla5 adis ADISA -if) .ERRO: Falha inesperada  Compilando o programa: (ycomp adis ADISA -exe adis/exe/ADISA.temp.exe ) adis/exe/ADISA.temp.exe => adis/exe/ADISA  [  OK   ] ADISA (adis) - Menu A : Gerada e compilada com sucesso.    ------------------------------------------------- Diretório separado do nome o arquivo: adis, ADISD1 (/home/interx/adis/src/ADISD1.SRC) Gerando rotina em linguagem C: (yla5 adis ADISD1 -if) .ATENCAO: Definicao nao localizada  Compilando o programa: (ycomp adis ADISD1 -exe adis/exe/ADISD1.temp.exe ) adis/exe/ADISD1.temp.exe => adis/exe/ADISD1  [  OK   ] ADISD1 (adis) - Menu : Gerada e compilada com sucesso.   I cannot get the whole block, just the line containing "INFO", like a ordinary grep, either setting or not ORS:  $ cat file  | awk 'BEGIN{RS="\n------------"}/INFO/{print}'  .INFO =&gt;Rotina BLOQUEADA (status 'M'): Geracao ignorada (use -is para ignorar checagem do status)   NOTES: It is the awk from AIX 7.1, not gawk.
65552
I am no expert with excel so any help is appreciated!   I am trying to make one cell do multiple searches within another.  I know that to search one cell for a specific word you would use  =FIND(Blue,C2)   But I need to find multiple different words in one cell. Heres an example of what im trying to do:    I need to show all the allergens in the ingredients cell eg peanuts, gluten, milk, sesame seeds etc   How do I get the result to list all the allergens?   I know that I can do a single find function in separate cells and then concatenate them, but there must be a more simple way?  Thanks
43285
findstr /v "black"  File1.txt   Above DOS command will display content of 'File1.txt' which are not matching string "black".  How to modify this command , if I need to filter words "black" and "white" ?
8264
I have always used || (two pipes) in OR expressions, both in C# and PHP. Occasionally I see a single pipe used: |. What is the difference between those two usages? Are there any caveats when using one over the other or are they interchangeable?
56341
Is there a way to search for question which contains a specific tag (or set of tag), but no other tags.  For example if I wanted to have only pure [php] questions I would input in the search filed the following:  ![php]   Or for question only concerning html and css I would input:  ![html+css]  Is there already such a feature hidden in the SO Engine? If not, with the high number of question in SO, I feel like it would be a good feature.
37773
I wrote a bash script that processes a list of filenames (using glob expansion, as in for f in *) and then outputs a subset of this list to a file. Subsequently I read the content of this file into an array and perform a plain binary search for specific filenames using the obvious &lt; and &gt; operators for comparing strings.  Considering that I would like the script to work on as many different environments like Linux, MacOS, MinGW, ... (even though it uses things like [[ and stat which are less portable), my questions are:   Do I need to sort the file content (either with sort or additional bash code) or is the glob expansion always sorted - in every environment? Do the conditional operators use the same "sorting" as the expansion (or after sort)?  Would expansion or sort return file10.txt after file2.txt (in what cases?) but using conditional operators file10.txt would be before file2.txt ? What sort option would I  use to fix this? Are there any caveats if some of my filenames are in Unicode?   Are there any issues using specific versions of bash?   Does LC_COLLATE affect any of the above?     I obviously need the file content to match the sorting "method" of the operators in order for the binary search to work as expected...
111187
If I'm trying to match a quote-delimited string with a regex, which of the following is "better" (where "better" means both more efficient and less likely to do something unexpected):  /"[^"]+"/ # match quote, then everything that's not a quote, then a quote   or  /".+?"/   # match quote, then *anything* (non-greedy), then a quote   Assume for this question that empty strings (i.e. "") are not an issue. It seems to me (no regex newbie, but certainly no expert) that these will be equivalent.   Update: Upon reflection, I think changing the + characters to * will handle empty strings correctly anyway.
75552
I'm trying to grep for the full sentence containing a search term. I've tried  grep (^.|\.\s).*searchterm.*(\.\s|\n)   but it's not working and I'm not sure why.  To clarify: I want stdout to print the full sentence of the search term. I am using grep to search through a single text file.  As an example, if my file has  "Foo blah. Blah blah searchterm blah blah. Foo bar."  I want stdout to print Blah blah searchterm blah blah
43887
What's the best/most efficient way to extract text set between parenthesis? Say I wanted to get the string "text" from the string "ignore everything except this (text)" in the most efficient manner possible.  So far, the best I've come up with is this:  $fullString = "ignore everything except this (text)"; $start = strpos('(', $fullString); $end = strlen($fullString) - strpos(')', $fullString);  $shortString = substr($fullString, $start, $end);   Is there a better way to do this? I know in general using regex tends to be less efficient, but unless I can reduce the number of function calls, perhaps this would be the best approach? Thoughts?
33856
I want to display all the characters in a file between strings "xxx" and "yyy" (the quotes are not part of the delimiters). How can I do that ? For example, if i have input "Hello world xxx this is a file yyy", the output should be " this is a file "
89095
I need to match a space character in a PHP regular expression. Anyone got any ideas?  I mean like "gavin schulz", the space in between the two words. I am using a regular expression to make sure that I only allow letters, number and a space. But I'm not sure how to find the space. This is what I have right now:  $newtag = preg_replace("/[^a-zA-Z0-9s|]/", "", $tag);
66844
How do you combine two jQuery search results? eg:  var $allFoos = $('.foo'),     $allBars = $('.bar')     $allFoosAndBars = $allFoos + $allBars;   Obviously, I just made up that last line, but I hope it makes it sorta clear what I mean. To be clear, the example is greatly simplified, and it could be any arbitrary sets i'm talking about, so $('.foo, .bar') is not what I'm after.