Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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_Php_Regex_String_Replace - Fatal编程技术网

如果字符串不是使用javascript中的正则表达式的较大字符串的一部分,请替换该字符串

如果字符串不是使用javascript中的正则表达式的较大字符串的一部分,请替换该字符串,javascript,php,regex,string,replace,Javascript,Php,Regex,String,Replace,我正试图编写一个函数,将文本区域中的一些单词大写,但我遇到了麻烦,因为这些单词可能是其他单词的一部分,我只想在它们单独存在时将它们大写 例如:我想使用大写字母或,但只有在不使用像这样的单词时才使用。然而,这些单词可以用多种方式书写,比如在一行的开头,在一个或多个空格字符之间,或者类似这样的方式:(somethingsomething)或(somethingse)甚至更多,这取决于其他人编写查询代码的方式 我有使用regex的想法,但我没有足够的技能来解决写这些单词的所有可能性 我无法将texta

我正试图编写一个函数,将
文本区域中的一些单词大写,但我遇到了麻烦,因为这些单词可能是其他单词的一部分,我只想在它们单独存在时将它们大写

例如:我想使用大写字母
,但只有在不使用像
这样的单词时才使用。然而,这些单词可以用多种方式书写,比如在一行的开头,在一个或多个
空格
字符之间,或者类似这样的方式:
(somethingsomething)或(somethingse)
甚至更多,这取决于其他人编写查询代码的方式

我有使用
regex
的想法,但我没有足够的技能来解决写这些单词的所有可能性

我无法将
textarea
更改为其他更好的插件或编辑器,因为它已经是功能脚本的一部分

任何有用的想法都将不胜感激

编辑:另一个问题

我的问题得到了非常有用的答案,谢谢大家。不过,我还有一个问题。如果,除了检查它不是单词的一部分之外,我还想检查它前面或后面是否有
句点。我尝试在开头添加
(?!\)
,但根本不起作用。有没有办法检查一下呢

//编辑:没关系,我想出来了。它是\b(?!\)某物(?!\)\b用于在单词的开头和结尾进行检查。

类似这样的东西吗?(°uu•)

像这样的?(°uu•)

像这样的?(°uu•)

像这样的?(°uu•)


单词边界上的匹配
\b
可能适合:

'foo or bar'.replace(/\bor\b/, 'OR'); // foo OR bar
您还可以提供替换功能,以便:

'foo or bar'.replace(/\b(or)\b/, function(m){return m.toUpperCase()})); // foo OR bar
对于具有多个可能匹配项的情况,这可能很好:

'foo or bar and fum'.replace(/\b(or|and)\b/ig, function(m){return m.toUpperCase()}); // foo OR bar AND fum

单词边界上的匹配
\b
可能适合:

'foo or bar'.replace(/\bor\b/, 'OR'); // foo OR bar
您还可以提供替换功能,以便:

'foo or bar'.replace(/\b(or)\b/, function(m){return m.toUpperCase()})); // foo OR bar
对于具有多个可能匹配项的情况,这可能很好:

'foo or bar and fum'.replace(/\b(or|and)\b/ig, function(m){return m.toUpperCase()}); // foo OR bar AND fum

单词边界上的匹配
\b
可能适合:

'foo or bar'.replace(/\bor\b/, 'OR'); // foo OR bar
您还可以提供替换功能,以便:

'foo or bar'.replace(/\b(or)\b/, function(m){return m.toUpperCase()})); // foo OR bar
对于具有多个可能匹配项的情况,这可能很好:

'foo or bar and fum'.replace(/\b(or|and)\b/ig, function(m){return m.toUpperCase()}); // foo OR bar AND fum

单词边界上的匹配
\b
可能适合:

'foo or bar'.replace(/\bor\b/, 'OR'); // foo OR bar
您还可以提供替换功能,以便:

'foo or bar'.replace(/\b(or)\b/, function(m){return m.toUpperCase()})); // foo OR bar
对于具有多个可能匹配项的情况,这可能很好:

'foo or bar and fum'.replace(/\b(or|and)\b/ig, function(m){return m.toUpperCase()}); // foo OR bar AND fum
大概是这样的:

'(something)or(somethingelse) before or oR Or OR oreos thor'.replace([^\w]([oO][rR])[^\w], 'OR');
大概是这样的:

'(something)or(somethingelse) before or oR Or OR oreos thor'.replace([^\w]([oO][rR])[^\w], 'OR');
大概是这样的:

'(something)or(somethingelse) before or oR Or OR oreos thor'.replace([^\w]([oO][rR])[^\w], 'OR');
大概是这样的:

'(something)or(somethingelse) before or oR Or OR oreos thor'.replace([^\w]([oO][rR])[^\w], 'OR');

我会尝试一下,但是在我这么做的时候,我可以要求澄清一下什么是
\b
?或者一般来说这行代码本身是做什么的?我会尝试一下,但是在我这么做的时候,我可以要求澄清一下什么是
\b
?或者一般来说这行代码本身是做什么的?我会尝试一下,但是在我这么做的时候,我可以要求澄清一下什么是
\b
?或者一般来说这行代码本身是做什么的?我会尝试一下,但是在我这么做的时候,我可以要求澄清一下什么是
\b
?或者一般来说,这条线本身是做什么的?