我正在尝试通过传入自定义正则表达式来解决 Tiptap(Vue 的 WYSIWYG 编辑器)中的这个错误_value_
,以便在 Markdown ( ) 中标识斜体符号的正则表达式不会应用于以@
or开头的字符串#
,例如#some_tag_value
不会转化为#some标签值。
到目前为止,这是我的正则表达式 -/(^|[^@#_\w])(?:\w?)(_([^_]+)_)/g
编辑:在 @ Wiktor Stribiżew 的帮助下新的正则表达式/(^|[^@#_\w])(_([^_]+)_)/g
虽然它满足大多数常见情况,但当下划线位于单词中间时,它目前仍然失败,例如 ant_farm_ 应该匹配(ant farm)
我还在这里https://regexr.com/50ibf提供了一些“应该匹配”和“不应该匹配”的案例,以便于测试
应该匹配(在下划线之间)
_italic text here_
police_woman_
_fire_fighter
a thousand _words_
_brunch_ on a Sunday
不应该匹配
@ta_g_
__value__
#some_tag_value
@some_value_here
@some_tag_
#some_val_
#_hello_