Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regular expression needed for this pattern: point(latitude,longitude)

Tags:

c#

regex

I am trying to validate text that follows the pattern below:

  • Must have the text "point(" at the beginning
  • Must follow it by a Latitude numerical value with up to 5 decimal places (example: 42.12345)
  • Must follow it by a comma ","
  • Must follow it by a Longitude numerical value with up to 5 decimal places (example: -81.12345)
  • Must follow it by a closing parentheses ")"

Matching example:

  • point(42.12345,-81.12345)

Any help is greatly appreciated.

Thanks.

like image 589
8 revs, 8 users 48% Avatar asked Dec 06 '25 04:12

8 revs, 8 users 48%


1 Answers

You can easily build your regex with a little bit of break-up here.

  • To match point( at the beginning, use - ^point\(
  • To match a latitude or longitude numbers, use - [-]?\d+(?:\.\d+)?
  • And again, to match ) at the end, use \)$.

For [-]?\d+(?:\.\d+)?, here's an explanation: -

  • [-]? - matches an optional negative (-) sign at the starting (? quantifier at the end means 0 or 1)
  • \d+ - matches one or more digits
  • (?:\.\d+)? - matches an optional decimal, followed by one or more digits. dot(.) is a special meta-character in Regex, so you need to escape it, if you want to match it.

Also, to limit your number of digits to 5, you can use - \d{1,5} instead of \d+, which matches minimum 1 and maximum 5 digits.

^(caret) and $(dollar) anchors matches the beginning and end of the string.

So, here's your regex: -

^point\([-]?\d+(?:\.\d{1,5})?,[-]?\d+(?:\.\d{1,5})?\)$
like image 111
Rohit Jain Avatar answered Dec 07 '25 17:12

Rohit Jain



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!