monoceres
monoceres

Reputation: 4770

Ruby regex match specific string with special conditions

I'm currently trying to parse a document into tokens with the help of regex.

Currently I'm trying to match the keywords in the document. For example I have the following document:

Func test()
  Return blablaFuncblabla
EndFunc

The keywords that needs to be matched is Func, Return and EndFunc.

I've comed up with the following regex: (\s|^)(Func)(\s|$) to match the Func keyword, but it doesn't work exactly like I want, the whitespaces are matched as well!

How can I match it without capturing the whitespaces?

Upvotes: 0

Views: 196

Answers (1)

sepp2k
sepp2k

Reputation: 370192

(?:\s|^)(Func)(?:\s|$)

?: makes a group non-capturing.

Upvotes: 1

Related Questions