@cm0002@lemmy.world to Programmer Humor@programming.dev • 3 months agowhat debugging regex feels likelemmy.mlimagemessage-square70fedilinkarrow-up11arrow-down10cross-posted to: programmerhumor@lemmy.ml
arrow-up11arrow-down1imagewhat debugging regex feels likelemmy.ml@cm0002@lemmy.world to Programmer Humor@programming.dev • 3 months agomessage-square70fedilinkcross-posted to: programmerhumor@lemmy.ml
minus-square@lmmarsano@lemmynsfw.comlinkfedilinkEnglish0•edit-23 months agoElisp has a nice notation for maintainably composing regexes like any other programming expression. Only language I’ve seen offer that. So instead of "/\\*\\(?:[^*]\\|\\*[^/]\\)*\\*+/", the regular expression to match C block comments could be expressed (with inline comments) (rx "/*" ; Initial /* (zero-or-more (or (not (any "*")) ; Either non-*, (seq "*" ; or * followed by (not (any "/"))))) ; non-/ (one-or-more "*") ; At least one star, "/") ; and the final /
Elisp has a nice notation for maintainably composing regexes like any other programming expression. Only language I’ve seen offer that. So instead of
"/\\*\\(?:[^*]\\|\\*[^/]\\)*\\*+/"
, the regular expression to match C block comments could be expressed (with inline comments)(rx "/*" ; Initial /* (zero-or-more (or (not (any "*")) ; Either non-*, (seq "*" ; or * followed by (not (any "/"))))) ; non-/ (one-or-more "*") ; At least one star, "/") ; and the final /