我试着这样做,我发现了这个错误:
>>> import re
>>> x = 'Ingl\xeas'
>>> x
'Ingl\xeas'
>>> print x
Ingl?s
>>> x.decode('utf8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 4-5: unexpected end of data
>>> x.decode('utf8', 'ignore')
u'Ingl'
>>> x.decode('utf8', 'replace')
u'Ingl\ufffd'
>>> print x.decode('utf8', 'replace')
Ingl?
>>> print x.decode('utf8', 'xmlcharrefreplace')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File …Run Code Online (Sandbox Code Playgroud) 我是python的新手,我需要编写一个函数,它取一个字母等级(a,b,c,d,f,可能带有+或 - )并返回一个数字等级.值为4,3,2,1,0.因此A将是4.0,B将是3.0.A +将数字等级值增加0.3,A-将数字等级减少0.3.应该可以使用大小写的.一些例子.
>>> letter2number('A-')
3.7
>>> letter2number('B+')
3.3
>>> letter2number('D')
1.0
>>> letter2number('a+')
4.3
Run Code Online (Sandbox Code Playgroud)
我不知道从哪里开始编码,我一直在寻找一些有用的代码.
在C#格式化字符串我做:
string a = String.Format("/blah/blah/{0}_{1}/blah.html", int1, int2)
Run Code Online (Sandbox Code Playgroud)
在Python中,它会自动将整数转换为字符串吗?
我将如何在Python中执行类似上面的操作.
这是一个正常的寄存器名,可以是1-n个字符以a-zA-Z与-,像
larry-cai, larrycai, larry-c-cai, l,
Run Code Online (Sandbox Code Playgroud)
但-不能像第一个和最后一个角色一样
-larry, larry-
Run Code Online (Sandbox Code Playgroud)
我的想法是这样的
^[a-zA-Z]+[a-zA-Z-]*[a-zA-Z]+$
Run Code Online (Sandbox Code Playgroud)
但如果我的正则表达式,长度应为2
应该很简单,但不要怎么做
如果你可以写它并通过http://tools.netshiftmedia.com/regexlibrary/会很好
我需要为这种格式的数据输入验证文本框 -
"TeSt12-12TeSt,12Test-AB12,......"
这基本上是用逗号(,)分割的一系列键值(关键连字符值)
Readlike
anyAlphaNumeric后跟连字符anyAlphaNumeric,然后是"可选来自此处"逗号和anyAlphaNumeric,后跟连字符anyAlphaNumeric,然后是逗号和anyAlphaNumeric,后跟连字符anyAlphaNumeric ...
这里1s可以是AZ,az,0-9例子 - 11-11有效111-111,无效(逗号后面跟另一个键值集)1-1,1-1有效1-无效(连字符后缺少值)1-1,111-111,11-11111,111-111111有效
我正在尝试验证包含"字母数字字符,支持的符号和空格"的名称.在这里,我只需要一个hyphen(-),但不是一个双hyphen(--).
这是我的代码如下:
$.validator.addMethod(
'alphanumeric_only',
function (val, elem) {
return this.optional(elem) || /^[^*~<^>+(\--)/;|.]+$/.test(val);
},
$.format("shouldn't contain *.^~<>/;|")
);
Run Code Online (Sandbox Code Playgroud)
上面的代码,甚至不允许单个hyphen(-).如何允许单个连字符,但防止双连字符.任何帮助是极大的赞赏.
我必须找到一个遵循特定格式的文件中的所有数字.格式如下:
每个数字都是正数或负数(符号可能存在也可能不存在,小数点前有一个或多个数字,小数点后有一个或多个数字).可能没有小数位.每个数字前后都可以有空格.两个数字用逗号(,)或分号(;)或冒号(:)分隔.例如(35.3,52.23; -623,623.62:-52,65)
所以在上面的例子中,我想列出六个数字.要搜索的数字列表在括号之间.到目前为止,我的代码如下所示:
def number_processing( file_location ):
""""""
import re
file_variable = open( file_location )
lines = file_variable.readlines()
numbers = re.compile(r'[(] *[+]?[-]?[0-9][0-9]*[.]+[,]+[;]+[0-9][0-9]* *[)]')
numbers_list = []
for line in lines:
for word in line.split(" "):
match = numbers.match(word)
if match:
numbers_list.append(match.group())
print numbers_list
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
你如何使下面的正则表达式用于pyparsing?它应该返回给定正则表达式的标记列表.
任何帮助将不胜感激!谢谢!
shell中的python正则表达式示例:
>>> re.split("(\w+)(lab)(\d+)", "abclab1", 3)
>>> ['', 'abc', 'lab', '1', '']
Run Code Online (Sandbox Code Playgroud)
我在pyparsing中尝试了这个,但我似乎无法弄清楚如何正确,因为第一个匹配是贪婪的,即第一个令牌将是'abclab'而不是两个令牌'abc'和'lab'.
pyparsing示例(高级别,即非工作代码):
name = 'abclab1'
location = Word(alphas).setResultsName('location')
lab = CaselessLiteral('lab').setResultsName('environment')
identifier = Word(nums).setResultsName('identifier')
expr = location + lab + identifier
match, start, end = expr.scanString(name).next()
print match.asDict()
Run Code Online (Sandbox Code Playgroud) HTML注释可以使用内联JavaScript作为不支持JS代码的旧浏览器的特殊块.这些块看起来像这样:
<!--
some js code
//-->
Run Code Online (Sandbox Code Playgroud)
我想在JS代码中区分'true'html注释.我写过这个正则表达式:
/<!--[^//]*?-->/g
Run Code Online (Sandbox Code Playgroud)
所以我想在内部用双斜杠排除匹配,但是正则表达式将//字符集视为/和/,而不是整个双斜杠//.我能做什么?
当我试图理解Python词典时,我比较了两个程序的输出.我不明白为什么输出不同.
两个程序都以
data = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}
Run Code Online (Sandbox Code Playgroud)
第一个项目:
for keys in data.items():
print keys
Run Code Online (Sandbox Code Playgroud)
第二个方案:
for keys, values in data.items():
print keys, values
Run Code Online (Sandbox Code Playgroud)
输出是
('key3', 'value3')
('key2', 'value2')
('key1', 'value1')
Run Code Online (Sandbox Code Playgroud)
和
key3 value3
key2 value2
key1 value1
Run Code Online (Sandbox Code Playgroud)
为什么第一个输出显示带括号的字符串?
为什么第二个输出不显示逗号?