I have some troubles writing a regex
What I want to achieve, I want to match the following string 6.62 X 25.250755 L but only what is after the X character or there may be cases when I have to match the following string 25.250755 X 6.62 in this case I need to match what's before the X character and the final case is when I have something like this: 25.250755 L X 6.62 or 25.250755L X 6.62 (with or without space, with or without the L character)
This is what I have so far, but is not enough and I don't know how to continue form here on
/[Xx]([\s\S]*)$/gm
CodePudding user response:
([0-9]*[.])?[0-9] ?L? X ([0-9]*[.])?[0-9] ?L? should work.
CodePudding user response:
For your example data, you can repeat a group with a capture group to capture the value of the last iteration.
(?: ?\b(\d (?:\.\d )) ?[XL]) \b
(?:Non capture group?\bMatch an optional space and a word boundary(Capture group 1\d (?:\.\d )Match 1 or more digits with an optional decimal part
)Close group 1?[XL]Match an optional space and either X or L
)Close the non capture group and repeat it 1 or more times\bA word boundary
