سؤال

/(test|test1|is(cold|warm|large|small))/

iscold / iswarm / islarge / issmall are two different groups since "is" is from group1 and everything behind it is from group 2. How can I make it into one group so iscold|iswarm|islarge|issmall should be one group, without having to type "is" everytime infront of it.

هل كانت مفيدة؟

المحلول

Technically, they are already in the same group (number 1). You just match the cold/warm... part in a second group too, which apparently you don't care about.

If you want to avoid this useless capture, you can use a non capturing group (?:...);

/(test|test1|is(?:cold|warm|large|small))/

نصائح أخرى

Use non capturing groups for the sub parts.

/(test|test1|is(?:cold|warm|large|small))/
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top