将特定的正则表达式模式与我的字符串匹配

matching a specific regex pattern with my string

本文关键字:我的 字符 字符串 串匹配 模式 正则表达式      更新时间:2023-09-26

嗨,我希望我的正则表达式模式与 0-9 模式匹配一个字符,然后乘以并添加运算符。到目前为止,这就是我所做的。

var regexPattern = /'d'+'*/;
function matchPattern( regexPattern, mycharacter ) {
    if ( mycharacter.match( regexPattern ) ) {
        console.log( 'true' );
    } else {
        console.log( 'false' );
    }
}
matchPattern( regexPattern, '+' );

问题是当我传递数字或"+"或"*"符号等模式时,它会返回 false。我做错了什么?

更改此行:

var regexPattern = [/'d'+'*/];

对此:

var regexPattern = /['d'+'*]/;

或者,请注意,在[]中使用时,您无需转义+*

var regexPattern = /['d+*]/;

您正在创建一个包含单个正则表达式元素的数组。你想要的是一个正则表达式,它使用 [] 作为其模式的一部分。

模式['d+*]将匹配数字('d)或加号(+)或星号(*)。

更新您的编辑:您拥有的模式/'d'+'*/将匹配一个数字,该数字紧跟一个加号,后跟一个星号。请参阅上文了解您需要的模式。

您需要将方括号放在正则表达式内:/['d'+'*]/这意味着它将匹配方括号中的任何字符。

要匹配多个字符,您需要在末尾加上+*/['d'+'*]+/告诉它继续匹配任意数量的数字、星号和加号。