Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
499 views
in Technique[技术] by (71.8m points)

regex - Combine two regexes

I have two regular expressions which are working perfectly fine when use independently.

First  : ^.+.((jpeg)|(gif)|(png))s*$ : search for .jpeg,gif or png at the end of url 
Second : ^.+(javax.faces.resource|rfRes).* : search for two url patterns 

I want to combine the above two expressions such that " url ends in any of the image " OR "url has javax.faces.resource or rfRes in its path"

I tried using | operator to join both but it seems its not working like below :

^.+.((jpeg)|(gif)|(png))s*$ | ^.+(javax.faces.resource|rfRes).* 

but its not working.

Can anybody please help in joining above two regex ?

question from:https://stackoverflow.com/questions/66068024/looking-for-a-way-to-merge-iban-and-bic-regex-and-not-or-java

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You have extra spaces around the | operator:

Your original regex
^.+.((jpeg)|(gif)|(png))s*$ | ^.+(javax.faces.resource|rfRes).*
^.+.((jpeg)|(gif)|(png))s*$|^.+(javax.faces.resource|rfRes).*
Fixed regex                  ^
                             |

Your solution will try to match "the end of the string and then a space," or "a space and then the beginning of the string." Remember, whitespace is significant in regexes.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...