C# 使用正则表达式捕获两个星号之间的所有内容
我正在从JIRA导出几个问题,就像这样,它们使用星号来处理格式。我希望在word文档中保留这种格式,但是,有时星号会给我带来一些问题。我目前有一个正则表达式,用于获取两个星号之间的文本:C# 使用正则表达式捕获两个星号之间的所有内容,c#,regex,C#,Regex,我正在从JIRA导出几个问题,就像这样,它们使用星号来处理格式。我希望在word文档中保留这种格式,但是,有时星号会给我带来一些问题。我目前有一个正则表达式,用于获取两个星号之间的文本: (\*.+?\*) 此正则表达式将匹配我正在查看的一组重要项: *这是一个粗体的句子*。这不是*这又是一个问题。* 匹配: 这是一个粗体的句子 这又是 但是,当我想检查以下句子时: *将下拉列表设置为(*.docx)并单击“保存”*。做下一件事。 它将只匹配: 将下拉列表设置为( 是否有一种方法可以根据以下内容
(\*.+?\*)
此正则表达式将匹配我正在查看的一组重要项:
*这是一个粗体的句子*。这不是*这又是一个问题。*
匹配:
这是一个粗体的句子这又是 但是,当我想检查以下句子时:
*将下拉列表设置为(*.docx)并单击“保存”*。做下一件事。
它将只匹配:
将下拉列表设置为(
是否有一种方法可以根据以下内容进行匹配?例如,如果有一个星号周期和空格,或者有一种方法指定避免使用星号周期字母,那么它将匹配:
将下拉列表设置为(*.docx)并单击“保存”
我试图修改当前的正则表达式,但似乎找不到有效的东西。即使使用否定集
[^*]
和否定前瞻(?!\*\)
如果在*
后面有一个点和非空格字符,您可以在关闭*
后使用此带有负前瞻性的正则表达式使匹配失败:
\*.*?\*(?!\.\S)
是一种消极的前瞻,当在关闭后紧接着一个点和一个非空白字符时,可以断言失败(?!\。\S)
这是一个粗体句子…
示例可能只得到一个结果,而不是两个。如果您的“句子”总是以句号结尾(在星号之前),然后您可以查找“`.*”。我确信您需要包含更多关于如何分隔要捕获的子字符串的信息,以使其正常工作。宏语言倾向于在其标识符中使用奇怪的{{characters}}或$(sequences)是有原因的。