Javascript 在只考虑字母和数字的基础字符串中查找句子

Javascript 在只考虑字母和数字的基础字符串中查找句子,javascript,regex,Javascript,Regex,我试图找到一个句子,看起来像这样: 我是一个有文字和数字的句子,等等45 在如下所示的基本字符串中,如标记文字: 这里有一些内容\n\n>列出了一些项目:-Hello,我是***bold***\n\n我是一个\n \n带有-一些文本和数字等的句子45 我遇到了一个使用正则表达式的问题,但在我的示例中,我无法让它工作。我也改变了一点,但没有成功: const content = "Here is some content \n \n > Listing some items: - Hello

我试图找到一个句子,看起来像这样:

我是一个有文字和数字的句子,等等45

在如下所示的基本字符串中,如标记文字:

这里有一些内容\n\n>列出了一些项目:-Hello,我是***bold***\n\n我是一个\n
\n带有-一些文本和数字等的句子45

我遇到了一个使用正则表达式的问题,但在我的示例中,我无法让它工作。我也改变了一点,但没有成功:

const content = "Here is some content \n \n > Listing some items: - Hello, I'm *** bold ***. \n \n I'm a \n \n sentence with - some text and    number and so on 45"


const search = "I'm a sentence with some text and number and so on 45"

const regex = '[^a-zA-Z0-9]*?';
const searchTerm = search.split("").join(regex);

var matches = content.match(searchTerm);
console.log(matches);

我尝试了不同的正则表达式变量,如:“[^a-zA-Z0-9]?”、“[^\w\d\s]”和“[.\-]”


提前感谢

您可以做的一件事是删除不需要的字符(我在单引号中留下,因为您匹配的是“I'm”)来创建您正在搜索的字符串的干净版本。然后,您可以对清理后的内容执行简单的字符串搜索

代码笔:

const content=“这里有一些内容\n\n>列出了一些项目:-你好,我是***粗体***.\n\n我是一个\n\n带有-一些文本和数字的句子,以此类推”;
const search=“我是一个有文字和数字的句子,以此类推”;
//删除不需要的字符,然后删除所有多个空格
newContent=content.replace(/[^\w']/g',).replace(/[\s]+/g',);
console.log(newContent);
const matches=newContent.includes(搜索);

log('Matches',Matches)您可以做的一件事是,通过去除不需要的字符(我在单引号中留下,因为您匹配的是“I'm”),为您正在搜索的字符串创建一个干净的版本。然后,您可以对清理后的内容执行简单的字符串搜索

代码笔:

const content=“这里有一些内容\n\n>列出了一些项目:-你好,我是***粗体***.\n\n我是一个\n\n带有-一些文本和数字的句子,以此类推”;
const search=“我是一个有文字和数字的句子,以此类推”;
//删除不需要的字符,然后删除所有多个空格
newContent=content.replace(/[^\w']/g',).replace(/[\s]+/g',);
console.log(newContent);
const matches=newContent.includes(搜索);

log('Matches',Matches)我认为您应该提供更多信息。要从“like markdown”行转到要查找的“句子”,不仅需要删除一些特殊字符,如
,还需要删除一些特殊字符以及它们前面加上的普通字符,因为它们在一起是特殊的,如
\n
;此外,您已将连续空间折叠为仅一个空间(并且空间并不特殊);您还删除了一些实际文本,如
这里是一些内容
;最后,如果要提取的行包含类似MATLAB中的
,我可以将n/3写成3\n;x^2+1>0
?我认为您应该提供更多信息。要从“like markdown”行转到要查找的“句子”,不仅需要删除一些特殊字符,如
,还需要删除一些特殊字符以及它们前面加上的普通字符,因为它们在一起是特殊的,如
\n
;此外,您已将连续空间折叠为仅一个空间(并且空间并不特殊);您还删除了一些实际文本,如
这里是一些内容
;最后,如果要提取的行包含类似MATLAB中的
,我可以将n/3写成3\n;x^2+1>0
?您好,谢谢您的回复。问题是,我想知道我的搜索句子在我正在搜索的字符串中开始的确切索引。嗨,Ed。谢谢你的回复。问题是我想知道搜索句子在我搜索的字符串中开始的确切索引。