Regex 在大写字符(camelCase)之前的位置匹配小写字符?
我在一段Typescript代码中有一个正则表达式,用于匹配有空格、破折号/下划线或大小写的字符串 因为这个模式也用于以后拆分字符串,在camelcase的情况下,我实际上需要在camelcase/大写字符之前匹配小写字符,因为我试图捕获camelcase。我试图将一个字符串简化为两个“缩写”,因此如果我输入别名,例如“saddexProductions”或“Saddex Productions”等,则输出将为“SP”。如果没有指示字符串由两部分组成,例如“Saddexproductions”,则输出将为“Sa”。如果我与字符串中间的大写字符匹配,并将其拆分,则该字符将被删除,输入的结果“SADDeExtudio”将是“SR”。 以下是我到目前为止的想法:Regex 在大写字符(camelCase)之前的位置匹配小写字符?,regex,typescript,Regex,Typescript,我在一段Typescript代码中有一个正则表达式,用于匹配有空格、破折号/下划线或大小写的字符串 因为这个模式也用于以后拆分字符串,在camelcase的情况下,我实际上需要在camelcase/大写字符之前匹配小写字符,因为我试图捕获camelcase。我试图将一个字符串简化为两个“缩写”,因此如果我输入别名,例如“saddexProductions”或“Saddex Productions”等,则输出将为“SP”。如果没有指示字符串由两部分组成,例如“Saddexproductions”,
const splitRegex: RegExp = /\s|(?<=.)([a-z](?<=[A-Z]{1}))|\-|\_/;
const splitRegex:RegExp=/\s |(?您可以使用
常量splitRegex:RegExp=/[-\us]|([a-z](?=[a-z])/;
详情:
-与[-\uS]
、-
或空格匹配的字符类-
-或|
-一个ID=1的捕获组,它匹配一个小写ASCII字母,后跟一个大写ASCII字母,而不将后者添加到整体匹配值中(因为它位于非消费正则表达式构造的正向前瞻中)([a-z](?=[a-z]))
(?问题是,我不想匹配大写字符本身,只想匹配紧跟在它前面的小写字符,而不是任何小写字符-只要后跟大写字符。好的,试试const splitRegex:RegExp=/[-\s]|([a-z](?=[a-z]))/
@WiktorStribiżew成功了。谢谢!
(?<=.)([a-z](?<=[A-Z]{1}))