Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何识别正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 如何识别正则表达式

Javascript 如何识别正则表达式,javascript,regex,Javascript,Regex,是否有一种模式能够确定字符串是常用词还是正则表达式?还是有一个JavaScript工具可以做到这一点 可以从字符串创建正则表达式,其格式通常为:[A-zA-z]*\d 一个常用词可能是:“猫”,“狗”,等等。我想知道字符串的值是否是正则表达式而不是常用词 换言之,我可以编写一个正则表达式来识别正则表达式?假设您希望以某个源代码(例如:一篇文章)为目标,并希望检查该源代码中最常用的单词: 假设文章中的整个文本块在一个字符串中,分配给变量“str”: 现在您只需console.log(arrWord

是否有一种模式能够确定字符串是常用词还是正则表达式?还是有一个JavaScript工具可以做到这一点

可以从字符串创建正则表达式,其格式通常为:[A-zA-z]*\d

一个常用词可能是:“猫”,“狗”,等等。我想知道字符串的值是否是正则表达式而不是常用词


换言之,我可以编写一个正则表达式来识别正则表达式?

假设您希望以某个源代码(例如:一篇文章)为目标,并希望检查该源代码中最常用的单词:

假设文章中的整个文本块在一个字符串中,分配给变量“str”:


现在您只需console.log(arrWords)即可查看结果

假设您希望以某个来源(例如:一篇文章)为目标,并希望检查该来源中最常用的词语:

假设文章中的整个文本块在一个字符串中,分配给变量“str”:


现在您只需console.log(arrWords)即可查看结果

许多常用词也是有效的正则表达式。你想解决什么问题?只要你不假设这类字符串
/user8099525/
是正则表达式,那么在某种程度上是的。在javasript中,没有字符串是“正则表达式”,除非使用正则表达式构造函数对其进行解析。许多字符串可以生成正则表达式。常用词可以转换成正则表达式,因此,如果您询问是否有办法(直观地)区分这两者基于某些模式-否。如果您询问是否可以确定某个变量是字符串还是正则表达式-当然,但这是类型检查,与字符的基本模式无关。在正则表达式中?不要尝试。您可以检查“.search(str)是否抛出错误,以查看str是否可以编译为有效的正则表达式,尽管“cat”和“dog”也是有效的正则表达式。它们与字母的精确顺序相匹配。因此,所有常用词都是有效的正则表达式。许多常用词也是有效的正则表达式。你想解决什么问题?只要你不假设这类字符串
/user8099525/
是正则表达式,那么在某种程度上是的。在javasript中,没有字符串是“正则表达式”,除非使用正则表达式构造函数对其进行解析。许多字符串可以生成正则表达式。常用词可以转换成正则表达式,因此,如果您询问是否有办法(直观地)区分这两者基于某些模式-否。如果您询问是否可以确定某个变量是字符串还是正则表达式-当然,但这是类型检查,与字符的基本模式无关。在正则表达式中?不要尝试。您可以检查“.search(str)是否抛出错误,以查看str是否可以编译为有效的正则表达式,尽管“cat”和“dog”也是有效的正则表达式。它们与字母的精确顺序相匹配。因此,所有常用词都是有效的正则表达式。
// Will be used to track word counting
const arrWords = [];
// Target string
const str = 'fsdf this is the article fsdf we are targeting';
// We split each word in one array
const arrStr = str.trim().split(' ');

// Lets iterate over the words
const iterate = arrStr.forEach(word => {
  // if a new word, lets track it by pushing to arrWords
  if (!arrWords.includes(word)) {
    arrWords.push({ word: word, count: 1 });
  } else {
    // if the word is being tracked, and we come across the same word, increase the property "count" by 1
    const indexOfTrackedWord = arrWords.indexOf(word);
    arrWords[indexOfTrackedWord].count++;
  }
});

// Once that forEach function is done, you now have an array of objects that look like this for each word: 
arrWords: [
  {
    word: 'fsdf',
    count: 2
  },
  {
    word: 'this',
    count: 1
  },
  // etc etc for the other words in the string
];