crayhouse Posted February 13, 2013 Share Posted February 13, 2013 Hi all. I have been searching for this kind of match for quite some time. Also trying several things, but without any result. I am trying to capture content between 2 words. In this case the 2 words are statis and the content between them is dynamic. For example: My house number is 21 you know. So i would like to capture the 21 in this case between "is" and "you". Anybody who has any suggestion in this? Cause i just can't seem to figure this out for some reason. Quote Link to comment https://forums.phpfreaks.com/topic/274447-preg_match-any-content-between-2-words/ Share on other sites More sharing options...
Christian F. Posted February 13, 2013 Share Posted February 13, 2013 To match any static content in a regular expression, all you need to do is to write it as it appears in the string. To match anything in between, you need to use . (matches any character, except newlines by default) and a quantifier behind it. The most common ones are + (one, or more) and * (zero, or more), often with a question mark behind them to make them non-greedy. The difference between greedy and non-greedy is that the non-greedy will stop at the first available match for what comes after the quantified group/character, while the greedy will match everything up to the last match. To give an example: // Assume this baseline string: "This is matching a character, or a string of characters." // A non-greedy match for everything between "matching" and "character" would match this: " a " // A greedy, on the other hand would match this: " a character, or a string of " Putting all of this together, you'll end up with the following regular expression: /is(.*?)you/ Learn more about regular expressions at Regular-Expressions.info. Quote Link to comment https://forums.phpfreaks.com/topic/274447-preg_match-any-content-between-2-words/#findComment-1412267 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.