javascript - 正则表达式将 'cause and ' til 等单词中包含的直引号转换为弯引号

标签 javascript regex

这些替换函数:

text = text.replace(/\b'|(\.|\,|\?|\!|\*|---|\.\.\.\s)'/g, '$1’')
text = text.replace(/'\b/g, '‘')

可以转单引号:

'cause 'til it's 'very very' 'broken.'

变成大写单引号:

‘cause ‘til it’s ‘very very’ ‘broken.’

但我认为您已经检测到问题 causetil 应该有一个右弯引号,而不是左弯引号。

如何修改我的正则表达式以实现这种情况?

最佳答案

对于您的第一个文本。替换:

text = text.replace(/\b(')|\.(')|(')(?=\w+\s)/g, '$1'')

这里的关键是前瞻选项 (')(?=\w\s) 换句话说,给我一个直引号,后面跟着一串字符,然后是一个空格字符,但忽略后面的所有内容'

关于javascript - 正则表达式将 'cause and ' til 等单词中包含的直引号转换为弯引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713334/

相关文章:

javascript - 无法在 'send' 上执行 'XMLHttpRequest'(但不是跨源问题)

javascript - 使用正则表达式捕获冒号和逗号之间的字符

javascript - 正则表达式 - 捕获标记的模板文字

javascript - 在 React 中嵌套状态是不好的做法吗?

javascript - 隐藏显示不适用于多个 div

javascript - Dojo Toolkit - 如何在按钮单击时连续触发 n 事件

javascript - nw.js 的多部分/表单数据请求

变量中的 Python 正则表达式

javascript - js正则表达式转义引号

c# - 匹配以随机内容开头的可选模式