使用HTML5,以下标记就足以让浏览器处理输入验证.
它将验证输入是否与电子邮件地址格式匹配以及实际提供的格式:
<input id="email" name="email" type="email" placeholder="Email address" required/>
Run Code Online (Sandbox Code Playgroud)
没有必要挂钩事件,既不是输入框也不是提交按钮,就好了.
我正在寻找一种方法来决定浏览器是否已经支持此功能,或者我应该自己处理输入验证.
我想知道是否有办法直接推进,或者我是否应该保留所有可能的品牌 - 版本组合和支持标志的表格.
>>> t1 = "abcd.org.gz"
>>> t1
'abcd.org.gz'
>>> t1.strip("g")
'abcd.org.gz'
>>> t1.strip("gz")
'abcd.org.'
>>> t1.strip(".gz")
'abcd.or'
Run Code Online (Sandbox Code Playgroud)
为什么'.org'的'g'消失了?
程序A,是无休止的ac程序,在stdin中接收输入,处理它并输出到stdout.
我想编写程序B(在python中),因此它将读取A的输出,并将其反馈给任何需要的东西.注意,每个程序必须只有一个实例,所以给定b1和b2是b的实例而不是:
$ b1 | a | b2
Run Code Online (Sandbox Code Playgroud)
我需要
$ b1 | a | b1
Run Code Online (Sandbox Code Playgroud)
以下是最终期望结果的图表:

我试图在列表上执行更新,愿意与regexp匹配.标准/ app /匹配.find而不是.update这一事实表明我做错了.有没有其他方法可以得到类似的结果?
> db.things.find({items:/app/})
{ "_id" : 3, "items" : [ "appstore.com", "engineapp.com", "asp.ca" ] }
> db.things.update({}, { $pull: { items: /app/} })
> db.things.find({items:/app/})
{ "_id" : 3, "items" : [ "appstore.com", "engineapp.com", "asp.ca" ] }
Run Code Online (Sandbox Code Playgroud) 给定一个文件包含如下行:
(?i:\bsys\.user_catalog\b)
Run Code Online (Sandbox Code Playgroud)
在读取这些行时,我希望该值是一个原始字符串(未转义),这意味着,在内存中,行应该是
r'(?i:\bsys\.user_catalog\b)'
Run Code Online (Sandbox Code Playgroud)
代替
(?i:\bsys\.user_catalog\b)
Run Code Online (Sandbox Code Playgroud)
当传递给诸如sqlobject之类的lib时,它会被转义.
例如,使用sqlobject,如果我声明
Table(column=r'(?i:\bsys\.user_catalog\b)')
Run Code Online (Sandbox Code Playgroud)
如果我说的话,我会得到理想的结果
Table(column='(?i:\bsys\.user_catalog\b)')
Run Code Online (Sandbox Code Playgroud)
我不.
所以问题基本上是,当我不处于声明/赋值模式(例如a = r'string')时,我可以传递原始字符串,而不是字符串已经在内存中.
是否有任何关于ac/cpp lib的建议,可以轻松地(尽可能多地)解析/迭代/操纵HTML流/文件,假设某些可能是格式错误,即标签未关闭等.
以下几行是我需要在lua中使用的任意正则表达式.
['\";=]
!^(?:(?:[a-z]{3,10}\s+(?:\w{3,7}?://[\w\-\./]*(?::\d+)?)?/[^?#]*(?:\?[^#\s]*)?(?:#[\S]*)?|connect (?:\d{1,3}\.){3}\d{1,3}\.?(?::\d+)?|options \*)\s+[\w\./]+|get /[^?#]*(?:\?[^#\s]*)?(?:#[\S]*)?)$
'(?i:(?:c(?:o(?:n(?:t(?:entsmartz|actbot/)|cealed defense|veracrawler)|mpatible(?: ;(?: msie|\.)|-)|py(?:rightcheck|guard)|re-project/1.0)|h(?:ina(?: local browse 2\.|claw)|e(?:rrypicker|esebot))|rescent internet toolpak)|w(?:e(?:b(?: (?:downloader|by mail)|(?:(?:altb|ro)o|bandi)t|emailextract?|vulnscan|mole)|lls search ii|p Search 00)|i(?:ndows(?:-update-agent| xp 5)|se(?:nut)?bot)|ordpress(?: hash grabber|\/4\.01)|3mir)|m(?:o(?:r(?:feus fucking scanner|zilla)|zilla\/3\.mozilla\/2\.01$|siac 1.)|i(?:crosoft (?:internet explorer\/5\.0$|url control)|ssigua)|ailto:craftbot\@yahoo\.com|urzillo compatible)|p(?:ro(?:gram shareware 1\.0\.|duction bot|webwalker)|a(?:nscient\.com|ckrat)|oe-component-client|s(?:ycheclone|urf)|leasecrawl\/1\.|cbrowser|e 1\.4|mafind)|e(?:mail(?:(?:collec|harves|magne)t|(?: extracto|reape)r|(siphon|spider)|siphon|wolf)|(?:collecto|irgrabbe)r|ducate search vxb|xtractorpro|o browse)|t(?:(?: ?h ?a ?t ?' ?s g ?o ?t ?t ?a ? h ?u ?r ?|his is an exploi|akeou)t|oata dragostea mea pentru diavola|ele(?:port pro|soft)|uring machine)|a(?:t(?:(?:omic_email_hunt|spid)er|tache|hens)|d(?:vanced email extractor|sarobot)|gdm79\@mail\.ru|miga-aweb\/3\.4|utoemailspider| href=)|^(?:(google|i?explorer?\.exe|(ms)?ie( [0-9.]+)?\ ?(compatible( browser)?)?)$|www\.weblogs\.com|(?:jakart|vi)a|microsoft url|user-Agent)|s(?:e(?:archbot admin@google.com|curity scan)|(?:tress tes|urveybo)t|\.t\.a\.l\.k\.e\.r\.|afexplorer tl|itesnagger|hai)|n(?:o(?:kia-waptoolkit.* googlebot.*googlebot| browser)|e(?:(?:wt activeX; win3|uralbot\/0\.)2|ssus)|ameofagent|ikto)|f(?:a(?:(?:ntombrows|stlwspid)er|xobot)|(?:ranklin locato|iddle)r|ull …Run Code Online (Sandbox Code Playgroud) 这是我的问题......
数据库以unicode存储所有内容.hashlib.sha256().digest()接受str并返回str.
当我尝试用数据填充哈希函数时,我得到了一个着名的错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 1: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
这是我的数据
>>> db_digest
u"'\x90\x017~1\xe0\xaf4\xf2\xec\xd5]:j\xef\xe6\x80\x88\x89\xfe\xf7\x99,c\xff\xb7\x06hXR\x99\xad\x91\x93lM:\xafT\xc9j\xec\xc3\xb7\xea[\x80\xe0e\xd6\\\xd8\x16'\xcb6\xc8\xaa\xdf\xc9 :\xff"
>>>
>>> hashlib.sha256(db_digest)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\x90' in position 1: ordinal not in range(128)
>>>
>>> asc_db_digest
"'\x90\x017~1\xe0\xaf4\xf2\xec\xd5]:j\xef\xe6\x80\x88\x89\xfe\xf7\x99,c\xff\xb7\x06hXR\x99\xad\x91\x93lM:\xafT\xc9j\xec\xc3\xb7\xea[\x80\xe0e\xd6\\\xd8\x16'\xcb6\xc8\xaa\xdf\xc9 :\xff"
>>> hashlib.sha256(asc_db_digest)
<sha256 HASH object @ 0x7f7da0f04300>
Run Code Online (Sandbox Code Playgroud)
所以我要求的是将db_digest转换为asc_db_digest的方法
编辑 我已经改写了这个问题,因为我似乎没有在第一时间正确认识到问题.
我试图update用upsertwhiwle提供我自己_id的关键.
事实证明,它只在我使用时才有效insert,如果upsert:true提供更新,新插入的文档会自动生成Mongo id.
见下文:
PRIMARY> db.internal.update({_id: "my_id"},{ "value": "xyz"}, {upsert:true})
PRIMARY> db.internal.find()
{ "_id" : ObjectId("50c6cbb21d8b512bc0fe9576"), "value" : "xyz" }
PRIMARY> db.internal.insert({_id: "my_id2", "value": "xyz"})
PRIMARY> db.internal.find()
{ "_id" : ObjectId("50c6cbb21d8b512bc0fe9576"), "value" : "xyz" }
{ "_id" : "my_id2", "value" : "xyz" }
Run Code Online (Sandbox Code Playgroud)
这是一个功能还是一个bug?
我有一个软件,它编写并包含在几个组件中,每个组件都有自己的许可证.总而言之,正在使用的所有24个组件共享以下许可证:
我问的问题是:
有没有办法实现类似于python的机制__getitem__?
例如,具有以下内容:
local t1 = {a=1, b=2, c=3, d=4}
Run Code Online (Sandbox Code Playgroud)
如果在代码中,t1.e将被调用,那么我希望有其他东西返回而不是nil
背景:
我设置了replicaSet并使用不同的端口在localhost上启动了mongod的3个实例(1 arbiterOnly).
我没有注意到mongo正在创建数量和大小太多的文件,这根本没有意义.
看,没有数据插入mongodb,没有创建单个集合,但是,让它运行一个小时左右,我的/ data/DB_INSTANCE_X充满2GB文件.
我知道文件的大小可以使用预分配标志定义,但是,在输入单个文档之前,如此多的文件对我来说似乎是错误的.
import zmq
import random
import time
port = "5556"
context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://127.0.0.1:%s" % port)
while True:
topic = random.randrange(9999,10005)
messagedata = random.randrange(1,215) - 80
print "%d %d" % (topic, messagedata)
socket.send("%d %d" % (topic, messagedata))
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
import sys
import zmq
port = "5556"
context = zmq.Context()
socket = context.socket(zmq.SUB)
print "Collecting updates from weather server..."
socket.connect ("tcp://127.0.0.1:%s" % port)
while True:
print socket.recv()
Run Code Online (Sandbox Code Playgroud)
然后,我从终端执行它们,当发布者发布(即打印行)时,订阅者永远不会离开 socket.recv()