我正在阅读Douglas Crockfords Javascript:The Good Parts,我刚刚完成了正则表达式章节.在本章中,他称之为JavaScript \b,积极的前瞻(?=)和消极的前瞻(?!) "不是一个好的部分"
他解释了\b不好的原因(它\w用于单词边界查找,并且\w对于使用unicode字符的任何语言都失败了),这看起来对我来说是一个非常好的理由.
不幸的是,正面和负面前瞻不好的原因被遗漏了,我无法想出一个.掌握正则表达式向我展示了前瞻性所带来的力量(当然也解释了它带来的问题),但我无法想到任何可以将其视为"不是很好的部分"的东西.
任何人都可以解释为什么JavaScript(正|负)前瞻或(正|负)前瞻一般应该被认为是"不好"?
我有一个搜索栏,可以从 API 中获取电影以及电影名称 [每次击键]。
我想修剪名称前后的多余空格,并且单词之间只有一个空格。
[它应该将干净的字符串发送到要获取的查询]
例如:
[(我正在输入的内容) ==> (应该查询的内容)]
" gran torino " ==> "gran torino"
" Pirates of the Caribbean " ==> "Pirates of the Caribbean"
代码:
const fetchMovieList = async (query) => {
if (query !== '') {
setStatusFetch('loading');
try {
const res = await fetch(`[API]=${query}`);
const movieListFromApi = await res.json();
if (movieListFromApi.Response === 'True') {
setStatusFetch('resolved');
setStatusMovie('found');
setMovieList(movieListFromApi.Search);
} else {
setMovieList([]);
setStatusMovie('notFound');
}
setStatusFetch('idle');
} catch (error) {
setStatusFetch('rejected');
}
} else { …Run Code Online (Sandbox Code Playgroud)