javascript - translating RegEx syntax working in php and python to JS -
i have regex syntax: "(?<=[a-z])-(?=[a-z])"
it captures dash between 2 lowercase letters. in example below second dash captured:
krynica-zdrój, ul. uzdro-jowa
unfortunately can't use <= in js. ultimate goal remove hyphen regex replace.
it seems me need remove hyphen in between lowercase letters.
use
var s = "krynica-zdrój, ul. uzdro-jowa"; var res = s.replace(/([a-z])-(?=[a-z])/g, "$1"); console.log(res);
note first lookbehind turned simple capturing group , second lookahead ok use since - potentially, if there chunks of hyphenated single lowercase letters - able deal overlapping matches.
details:
([a-z])
- group 1 capturing lowercase ascii letter-
- hyphen(?=[a-z])
- followed lowercase ascii letter not added result -/g
- global modifier, search occurrences of pattern"$1"
- replacement pattern containing backreference value stored in group 1 buffer.
vba sample code:
sub removeextrahyphens() dim s string dim reg new regexp reg.pattern = "([a-z])-(?=[a-z])" reg.global = true s = "krynica-zdroj, ul. uzdro-jowa" debug.print reg.replace(s, "$1") end sub
Comments
Post a Comment