有人可以帮助解释JavaScript中的这个正则表达式吗?
can someone help to explain this regular expression in javascript?
这段代码用于从rawdata中删除mime类型,但我无法理解它是如何工作的
content.replace(/^[^,]*,/ , '')
它似乎与Java完全不同。任何帮助将不胜感激。
您的 mime 类型可能由逗号分隔,
和原始数据的开头。这个正则表达式说take everything from the beginning (^) that is NOT a comma ([^,]*) (the star makes it as many characters until there is a comma) and take the comma itself (,). Then replace it by nothing ('').
这个只得到第一次出现,因为它被开头 ^ 标记,它必须在字符串的开头。
你需要知道的第一件事是JavaScript中有正则表达式文字,由斜杠对构造。所以就像"..."
是一个字符串,/.../
是一个正则表达式。这实际上是您的代码与 Java 正则表达式相比显示的唯一区别。
然后,正则表达式中的[abc]
称为字符类,意思是"a
中的一个字符,b
或c
"。相反,[^abc]
是一个否定的字符类,意思是"除a
、b
或c
之外的一个字符"。
因此,您的示例意味着:
/ # Start of regex literal
^ # Start the match at the start of the string
[^,]* # Match any number of characters except commas
, # Match a comma
/ # End of regex literal
正则表达式是两个正斜杠之间的文本,第一个克拉 (^) 表示字符串的开头,括号表示字符类,括号内的克拉表示除逗号以外的任何字符,然后右括号后的星号表示匹配字符类定义的零个或多个字符(同样是逗号以外的任何字符), 最后最后一个逗号意味着在这一切之后匹配逗号。然后在替换函数中使用它,因此匹配结果将被替换为第二个参数,在您的情况下:空字符串。
基本上,它将第一个字符匹配到"content"变量中的第一个逗号,然后用空字符串替换它。
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 将这些正则表达式从javascript转换为Java
- 用于验证JS中逻辑运算符表达式的正则表达式