javascript - 正则表达式 - val.replace(/^[^a-zA-Z0-9]*|[^a-zA-Z0-9]*$/g ,"' ');

标签 javascript jquery regex web

我正在学习正则表达式,目前看来我很困惑。

val.replace(/^[^a-zA-Z0-9]*|[^a-zA-Z0-9]*$/g, '');

在上面的表达式中

1) 哪一部分表示不包含空格?因为我试图排除所有非字母数字字符。

2) 由于我什至不想使用“$”和“”(下划线),我可以在如下表达式中指定“$”和“”(下划线)吗?

val.replace(/^[^a-zA-Z0-9$_]*|[^a-zA-Z0-9$_]*/g, '');?

3) 作为 'x|y' 指定 - “查找任何指定的备选方案”。那为什么我们使用了这样的东西 [^a-zA-Z0-9]|[^a-zA-Z0-9] 两边都一样?

请帮助我理解这一点,发现它有点困惑和困难。

最佳答案

此正则表达式替换字符串中所有开始和尾随的非字母数字字符。

  1. 它没有特别指定空格。它只是否定字母数字字符以外的所有内容。方括号内的任何内容都是字符集 - [Whatever]。字符集内的起始大写字母 (^) 表示它是一个否定。所以 [^a-zA-Z0-9]* 表示零个或多个 a-z、A-z 或 0-9 以外的字符。

  2. 末尾的 $ 符号表示,到字符串末尾,与 $ 和 _ 符号无关。这将已经包含在字符集中,因为它都是非字母数字字符。

  3. 引用@smathy 的回答。

仅供引用,无法通过滚动教程来学习 AFAIU 正则表达式。您只需了解基础知识并尝试示例。

关于javascript - 正则表达式 - val.replace(/^[^a-zA-Z0-9]*|[^a-zA-Z0-9]*$/g ,"' ');,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857934/

相关文章:

regex - REGEXP_EXTRACT(word,r'(\w\w\'\w\w)' ) 中的 r 是什么意思

php - 正则表达式匹配任何 UTF 字符,不包括标点符号

javascript - React - 如何在 JSON 中返回 HTML 元素

Javascript 数组分组

javascript - 尝试在我的网络应用程序中测试 google oauth 时出现 popup_closed_by_user 错误

javascript - 如何定位 JSON 文件中的特定对象

javascript - 使用CSS安排具有动态内容的多个div

javascript - 仅调整垂直图像的大小

mysql - mysql 字段中 json 的正则表达式

javascript - jQuery 无法使用 .html() 更改 html