我需要这个正则表达式的帮助.我有许多文件名,格式为:
DataFile_en.dat
DataFile_de.dat
DataFile_es.dat
Run Code Online (Sandbox Code Playgroud)
它是DateFile_,后跟两个字符的语言代码.
我想编写一个正则表达式,匹配所有具有此模式的文件名但不包括英文名称(DataFile_en.dat)
我有这个模式来提取所有文件:
DataFile_\w{2}.dat
Run Code Online (Sandbox Code Playgroud)
但我不知道如何编写模式以排除使用'en'作为语言代码的模式.正则表达式将在Python中使用.
我知道这有点宽泛,但问题是如何从垃圾邮件机器人中隐藏我的电子邮件?
每种方法的优缺点是什么?
我正在使用ReactJS为一个简单的可过滤项目列表提供支持,它可以很好地满足我的需求.
问题是我需要在服务器上呈现标记以获取SEO原因,但是当我调用React.renderComponent()它时,用React生成的标记替换现有标记.
在React的文档中搜索我发现了这个注释:
React.renderComponent()替换您传入的容器节点的内容.将来,可以将组件插入现有DOM节点而不覆盖现有子节点.
而且我不能React.renderComponentToString()用来生成标记服务器端,因为我的后端在PHP上运行...
是否有任何(即使是hackish)方式来实现当前版本(0.11.2)?
我想如果使用renderComponentToString()生成的标记可以实现,那么应该有一种模拟结果的方法吗?
谢谢你的建议!
这个例子有点做作,但请耐心等待。假设我有两个函数作为 React 组件的成员:
var OrderApp = React.createClass({
getInitialState: function() {
return {
selectedOrders: {},
selectedLineItems: {}
};
},
setOrderSelected: function(order, newSelectedState) {
var mutation = {};
mutation[order.id] = {$set: newSelectedState};
var newSelectedOrders = React.addons(this.state.selectedOrders, mutation);
_.each(order.lineItems, function(lineItem) {
setLineItemSelected(lineItem, newSelectedState);
});
this.setState({selectedOrders: newSelectedOrders});
},
setLineItemSelected: function(lineItem, newSelectedState) {
var mutation = {};
mutation[lineItem.id] = {$set: newSelectedState};
var newSelectedLineItems = React.addons(this.state.selectedLineItems, mutation);
this.setState({seelctedLineItems: newSelectedLineItems});
}
});
Run Code Online (Sandbox Code Playgroud)
在调用 OrderApp.setOrderSelected(order, true) 完成时,只有最后一个 lineItem 选择状态在我的组件状态中似乎发生了变化。我猜这是因为 React 正在批处理对 setState 的调用,所以当我调用时:
var newSelectedLineItems = React.addons(this.state.selectedLineItems, mutation); …Run Code Online (Sandbox Code Playgroud) 我有一些组件,一旦他们的数据第一次到达并呈现就应该做一些工作,但不是为了将来的重新渲染.例如:加载并呈现评论,现在1.加载社交媒体库,然后加载一些Google Analytics.
现在我这样做:
componentDidUpdate: function (prevProps, prevState) {
if (this.hasAlreadyUpdatedOnce) {
// ... do some stuff...
} else {
// ... do some stuff that should happen only once...
// 1. load social media libraries
// 2. load some Google Analytics
this.hasAlreadyUpdatedOnce = true;
}
}
Run Code Online (Sandbox Code Playgroud)
但我问自己是否有比设置这样的房产更优雅的方式.
我创建了一个 Image 组件
class Image extends React.Component {
render() {
return (
<img src= { this.state.imgUrl } onError ={ this.onError() }/>
);
}
onError(){
console.log('Image onError');
this.setState(
{ imgUrl: '../default.png' }
);
}
}
Run Code Online (Sandbox Code Playgroud)
并在我看来使用它,但如果找不到一张图像。所有 Image Component 查看 onError
我遇到了一个问题,我不明白:我制作YouTube图像的方法是将它们放在容器中
border-radius: 50%;
overflow: hidden;
Run Code Online (Sandbox Code Playgroud)
这适用于Chrome和FF,但Safari将图像放在圆形容器"上方".
请检查小提琴:http://jsfiddle.net/nikita_turing/2QyY3/
如何在Safari上制作图像?
我想从两个列表中生成可能的网站列表:
strings = ["string1", "string2", "string3"]
tlds = ["com', "net", "org"]
Run Code Online (Sandbox Code Playgroud)
产生以下输出:
string1.com
string1.net
string1.org
string2.com
string2.net
string2.org
Run Code Online (Sandbox Code Playgroud)
我必须这样:
for i in strings:
print i + tlds[0:]
Run Code Online (Sandbox Code Playgroud)
但是我无法连接str和list对象.我怎么加入这些?
我有很多超链接,如:
<a href="file.pdf">File</a>
Run Code Online (Sandbox Code Playgroud)
并且我使用CSS在这些链接中的每一个之后加上单词PDF,如下所示:
a[href$=".pdf"]:after {
content: "(pdf)";
font-size: 10px;
color: #666;
padding-left: 5px;
vertical-align: 6%;
}
Run Code Online (Sandbox Code Playgroud)
这适用于文本超链接,但我不希望"(pdf)"显示超链接图像,例如:
<a href="file.pdf"><img src="" alt=""></a>
Run Code Online (Sandbox Code Playgroud)
这里有什么建议?
我有这个代码:
function voteNewWindow(mailNum) {
chrome.windows.create({
url: 'http://www.google.com',
incognito: true
}, function (window) {
console.log('created ' + window.id);
chrome.tabs.query({
active: true,
windowId: window.id
}, function (tabs) {
var tab = tabs[0];
chrome.tabs.executeScript(tab.id, {
file: "jquery-2.1.1.min.js"
}, function () {
chrome.tabs.executeScript(tab.id, {
file: "content_script.js"
}, function () {
chrome.tabs.sendMessage(tab.id, {
email: JSON.parse(localStorage.mailList)[mailNum]
}, function (response) {
console.log(response);
chrome.windows.remove(window.id);
console.log('window ' + window.id + " removed");
});
});
});
});
});
}
function execute() {
for (var i = 0; i < JSON.parse(localStorage.mailList).length; …Run Code Online (Sandbox Code Playgroud) javascript ×5
reactjs ×4
css ×2
python ×2
asynchronous ×1
client-side ×1
email ×1
html ×1
image ×1
immutability ×1
php ×1
promise ×1
regex ×1
safari ×1