我正在尝试向某些给定的查询字符串添加标记,并且标记应该包围所有匹配的字符串.例如,我想包装 周围的所有符合查询条件的话标签iphone games mac中的句子I love downloading iPhone games from my mac.应该是I love downloading <em>iPhone games</em> from my <em>mac</em>.
目前,我试过了
sentence = "I love downloading iPhone games from my mac."
query = r'((iphone|games|mac)\s*)+'
regex = re.compile(query, re.I)
sentence = regex.sub(r'<em>\1</em> ', sentence)
Run Code Online (Sandbox Code Playgroud)
句子输出
I love downloading <em>games </em> on my <em>mac</em> !
Run Code Online (Sandbox Code Playgroud)
其中\ 1只替换为一个单词(games而不是iPhone games),并且在单词后面有一些不必要的空格.如何编写正则表达式以获得所需的输出?谢谢!
编辑:
我刚刚意识到当我在单词中有单词时,弗雷德和克里斯的解决方案都有问题.例如,如果我的查询是game,那么它将结果是<em>game</em>s我希望它不被突出显示.另一个例子是the在either不应该被突出显示.
编辑2: 我采用克里斯的新解决方案,它的工作原理.
我需要在C中快速过滤来自UTF-8字符串的标点符号.字符串可能很长而且数量很多.我目前使用的功能效率非常低:
char *filter(char *mystring){
char *p;
while ((p = strchr(mystring,'.')) != NULL)
strcpy(p, p+1);
while ((p = strchr(mystring,',')) != NULL)
...etc etc etc...
...etc...
return mystring;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它遍历每个标点符号的字符串.是否有一个简单的库函数可以有效地完成所有标点符号?
我有这个菜单:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script>
$(function() {
$("#menu").find("li").each(function() {
if ($(this).find("ul").length > 0) {
$(this).mouseenter(function() {
$(this).find("ul").stop(true, true).slideDown();
});
$(this).mouseleave(function() {
$(this).find("ul").stop(true, true).slideUp();
});
}
});
});
</script>
<style>
#menu {
display:block;
margin:120px auto 20px;
border:1px solid #222;
position:relative;
background-color:#6a6a6a;
font:16px Tahoma, Sans-serif;
}
#menu ul {
padding:0;
margin:0;
}
#menu li {
position:relative;
float:left;
list-style-type:none;
}
#menu ul:after {
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
#menu li a {
display:block;
padding:10px 20px;
border-left:1px solid #999;
border-right:1px solid …Run Code Online (Sandbox Code Playgroud) 在终端中使用ndk-build编译以下C代码时(我正在运行Ubuntu):
#include <jni.h>
#include <GLES/gl.h>
#include <GLES/glext.h>
#include "org_opengldrawinjni_DrawinJNI.h"
JNIEXPORT void JNICALL Java_org_opengldrawinjni_DrawinJNI_Draw
(JNIEnv *envptr, jobject jobj)
{
GLfloat vertices[] =
{ 1.0, 0.0, 0.0,
1.0, 1.0, 0.0,
0.0, 0.0, 0.0
};
GLubyte indices[] = { 0, 1, 2 };
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_BYTE, indices);
}
Run Code Online (Sandbox Code Playgroud)
使用此Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := OpenGLJNI
LOCAL_SRC_FILES := org_opengldrawinjni_DrawinJNI.c
LOCAL_LDLIBS := -llog -lGLESv1_CM.so
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,未定义的glVertexPointer引用.我想知道为什么,因为我相信我正确地包含了标题并链接了Android.mk中的库
/home/thomas/Documents/LinuxProgramming/EclipseWorkspace/OpenGLDrawinginJNI/obj/local/armeabi/objs/OpenGLJNI/org_opengldrawinjni_DrawinJNI.o: In function `Java_org_opengldrawinjni_DrawinJNI_Draw':
/home/thomas/Documents/LinuxProgramming/EclipseWorkspace/OpenGLDrawinginJNI/jni/org_opengldrawinjni_DrawinJNI.c:33: undefined reference to `glVertexPointer'
collect2: ld …Run Code Online (Sandbox Code Playgroud) 有人可以给我正确的格式来验证格式为xxx.xxx.xxxx的电话号码(三位数,一个点和三位数,一个点和四位数)?
我想将基本文档内容添加到我的模块的PYPI的首页,就像它已经完成的那样,例如:http://pypi.python.org/pypi/Jinja2 .
现在,askbot下载页面有一个默认的外观,并没有太多有用的信息,它如何添加?那就是 - 必须编辑分发包文件/哪个文件的哪些部分?
谢谢!
最初发布在Grails邮件列表上......
我一般不是数据库人员,但随着最新的mongodb grails插件的发布,我想看看没有SQL数据库的重要性.MongoDB似乎很有趣.我正在阅读有关面向文档存储的信息,并遇到以下情况:
客户/订单/订单行项目
该文件称订单应该是一个集合.客户收藏.line-items应该是嵌入在order对象中的一个行项目数组.
关于GORM,这种模式是如何确保的?我通常会有以下内容:
class Customer {
static hasMany = [orders: Order]
}
class Order {
static hasMany = [orderItems: OrderItem]
static belongsTo = [customer:Customer]
}
class OrderItem {
static belongsTo = [order:Order]
}
Run Code Online (Sandbox Code Playgroud)
如何确保Orders是自己的集合而不是嵌入在Customer中?如果这是默认值,那么如何确保OrderItems嵌入在Order中而不是它自己的集合中?这里的默认值是什么?
谢谢.
我有一个Rails 3应用程序(使用Mongodb和Mongoid,如果这有所不同),并且在我的一个模型中,我有一个字段定义为日期类型.
class Participant
include Mongoid::Document
field :birth_date, :type => Date
end
Run Code Online (Sandbox Code Playgroud)
我的控制器正在使用mongo的find_or_initialize_by功能:
class ParticipantController
def create
@participant = Participant.find_or_initialize_by(params[:participant])
if @participant.save
redirect_to participants_path
else
render :new
end
end
end
Run Code Online (Sandbox Code Playgroud)
所有这些归结为:如何使用Mongoid和Rails 3在ActiveModel中进行日期验证?
我想确保在文本框中输入"blah"时不会在分配给.birth_date我的模型字段时引发异常.它应该提供一个很好的验证错误消息,而不使用控制器来进行验证.
这是基本要求:
视图必须是单个文本框.没有其他的.这是我们无法更改的用户要求
验证应该在模型中完成,而不是在控制器或
视图中(javascript或其他)
没有正则表达式格式验证(它们无法正常工作/支持区域设置等)
问题是文本框中的值被分配给.birth_datebefore validates_format_of并运行validates_presence_of.所以...
如何拦截值的赋值,以便在分配之前对其进行验证?是否可以使用ActiveModel在模型中执行此操作?或者这是否要求我在控制器中放置代码来执行此操作?
我有一个节点ID.在我的代码中,我想使用节点的标准模板将此节点输出到屏幕.如何将节点打印到屏幕?