小编Jac*_*ton的帖子

如何从python中的正则表达式匹配返回一个字符串?

我正在使用python脚本在文本文件中运行行.我想img在文本文档中搜索标记并将标记作为文本返回.

当我运行正则表达式时,re.match(line)它返回一个 _sre.SRE_MATCH对象.如何让它返回一个字符串?

import sys
import string
import re

f = open("sample.txt", 'r' )
l = open('writetest.txt', 'w')

count = 1

for line in f:
    line = line.rstrip()
    imgtag  = re.match(r'<img.*?>',line)
    print("yo it's a {}".format(imgtag))
Run Code Online (Sandbox Code Playgroud)

运行时打印:

yo it's a None
yo it's a None
yo it's a None
yo it's a <_sre.SRE_Match object at 0x7fd4ea90e578>
yo it's a None
yo it's a <_sre.SRE_Match object at 0x7fd4ea90e578>
yo it's a None
yo it's a …
Run Code Online (Sandbox Code Playgroud)

python regex

56
推荐指数
4
解决办法
8万
查看次数

在JSP内部使用for循环

我想循环遍历"节日" 的ArrayList,并使用get方法获取其信息,打印出所有值.出于某种原因,当我使用此代码时,它将始终选择"0"值而不是增加循环.

如果我将值硬编码为"get(1)",它将获得正确的值,因此我的问题显然与语法有关.

<h1>All Festival Information</h1>
    <jsp:useBean id="allFestivals" type="java.util.ArrayList" scope="session" />
    <table border="1">
        <tr>
            <td>Festival Name:</td>
            <td>Location:</td>
            <td>Start Date:</td>
            <td>End Date:</td>
            <td>URL:</td>
        </tr>
        <% for(int i = 0; i < allFestivals.size(); i+=1) { %>
            <tr>      
                <td>${allFestivals.get(i).getFestivalName()}</td>
                <td>${allFestivals.get(i).getLocation()}</td>
                <td>${allFestivals.get(i).getStartDate()}</td>
                <td>${allFestivals.get(i).getEndDate()}</td>
                <td>${allFestivals.get(i).getURL()}</td>  
            </tr>
        <% } %>
    </table> 
Run Code Online (Sandbox Code Playgroud)

html java jsp loops for-loop

28
推荐指数
2
解决办法
15万
查看次数

如何将用户UID存储在firebase数据库中并使其映射到POJO

CONTEXT

我目前正在开发Firebase应用程序(在Android中).我已经设置了身份验证,存储和数据库,没有任何问题可言.由于Firebase身份验证用户只有一些属性,我创建了一个"用户"POJO来存储Firebase身份验证用户中未包含的其他用户信息(即名字,出生日期,国籍等...) .其结构如下图所示:

结构演示

图像中的UUID是用户各自的身份验证.这是通过以下方式实现的:

ref.child(users).child(auth.getUid()).setValue(user);
Run Code Online (Sandbox Code Playgroud)

这种方法似乎与文档一致,因为它允许我使用auth.uid === $uid规则限制对帐户所有者的写入/读取.此外,树内的所有属性都按预期映射到我的POJO.

问题

我的一个大问题是我想将用户uid存储在POJO中.由于UID当前被构造为父对象,我不确定如何将其映射到用户POJO.我当然可以在底层树中存储一个额外的字段.但是,这似乎是毫无意义的数据冗余.

将uid映射到相应的"用户"POJO类的最佳方法是什么.理想情况下,我可以获取10个用户进行显示,当点击一个用户时,应用程序会加载配置文件活动.这意味着传递用户的uid,所以我可以说:

ref.child(users).child(targetUID)
Run Code Online (Sandbox Code Playgroud)

并获取已点击的用户帐户.这意味着拥有他们的uid.

java mapping android firebase firebase-realtime-database

9
推荐指数
1
解决办法
9815
查看次数

是否可以使用GraphRepository模式动态构造neo4j cypher查询

语境:我正在开发一个由neo4j数据库支持的java Spring Boot系统.我使用"ClassRepo extends GraphRepository"结构访问数据库.编写查询是我的精确查询中硬编码的简单情况,并用提供的参数(在本例中为courseName)替换它的指定部分.

@Query("MATCH (node:Course) WHERE node.name = {courseName}  RETURN node LIMIT 1")
Course findByName(@Param("courseName") String name);
Run Code Online (Sandbox Code Playgroud)

这对我来说都很好,让我可以毫无问题地返回一个或多个结果.然而,随着我的项目的发展,我现在提供了大量的搜索选项列表(分面搜索,思考亚马逊产品过滤器).为所选择的或未选择的过滤选项的每个排列编写静态密码查询似乎很愚蠢.

我的解决方案(尝试)是将部分查询作为参数传递,实质上是创建一个字符串查询构建器:

@Query("MATCH (course:Course) -[r]-> (description:CourseYearDescription) " +
        "WITH course, count(description) as relationCount, collect(description) as descriptions " +
        "WHERE relationCount > {numberOfYears} {returnCourse}")
Iterable<Course> findCourseWithNumberOfYears(
        @Param("numberOfYears") int numberOfYears,
        @Param("returnCourse") String returnCourse
);
Run Code Online (Sandbox Code Playgroud)

其中"returnCourse"是一个值为"RETURN course"的字符串.我知道在查询字符串中静态输入"RETURN课程"的事实.我刚删除它并将字符串值作为参数传递,以查看它是否可以生成相同的查询并在运行时运行它.

这没有真正的成功,让我回到错误页面并打印出以下堆栈:http://pastebin.com/J9VBfpxw

问题:是否有办法将字符串附加/插入到GraphRepository使用的密码查询字符串中,以便可以动态更改查询,即在运行时将where子句添加到匹配查询的末尾.

spring neo4j cypher spring-data-neo4j-4 neo4j-ogm

6
推荐指数
1
解决办法
1421
查看次数

如何创建一个跨越整个div宽度的字母表字母选择器

我正在创建一个网站,需要通过信件过滤联系人.

我将使用包含字母表中每个字母的水平条

在此输入图像描述

我目前正在使用带有内联函数的ul和li来显示带有边框的图像,以创建字母分割.

我的问题是,当将浏览器中的缩放从100%更改为任何其他值时,字母会改变大小,因此会丢弃div的居中,有时甚至会下降到下一行.

在此输入图像描述

如何创建一个字母列表,这些字母将在包含div上紧密,并且在分辨率和缩放变化时不会被破坏

网站代码:

<ul class="alphabet">
                        <li>A</li>
                        <li>B</li>
                        <li>C</li>
                        <li>D</li>
                        <li>E</li>
                        <li>F</li>
                        <li>G</li>
                        <li>H</li>
                        <li>I</li>
                        <li>J</li>
                        <li>K</li>
                        <li>L</li>
                        <li>M</li>
                        <li>N</li>
                        <li>O</li>
                        <li>P</li>
                        <li>Q</li>
                        <li>R</li>
                        <li>S</li>
                        <li>T</li>
                        <li>U</li>
                        <li>V</li>
                        <li>W</li>
                        <li>X</li>
                        <li>Y</li>
                        <li>Z</li>
                    </ul>
Run Code Online (Sandbox Code Playgroud)

CSS:

.alphabet {
                float: left;
                list-style-type: none;
                margin-top:90px;
                padding:0px;
                cursor: pointer;
                width: 100%;

                li {
                    padding:0px;
                    border-right:1px solid @darkgrey;
                    font-size: 13px;
                    text-align: center;
                    padding-left: 3px;
                    padding-right: 3px;
                    color:black;
                    display:inline;
                }

                li:last-child {
                    border:none;
                    padding-right: 0px;
                }

                li:hover {
                    color:@green;
                    background-color: @lightgrey;
                }
            }
Run Code Online (Sandbox Code Playgroud)

html layout css3

5
推荐指数
1
解决办法
6383
查看次数

使用Room Persistance在运行时生成查询

我想在运行时生成的SQLite数据库上运行查询(而不是@Dao中的标准编译时查询)。例如,我可能想在SQLite数据库中搜索一个TEXT列,以查看它是否包含N长度列表中的所有单词。在原始SQLITE中,N为3的查询如下所示:

SELECT * FROM table 
WHERE textValue LIKE %queryTerm1% 
AND textValue LIKE %queryTerm2%"
AND textValue LIKE %queryTerm3%"
Run Code Online (Sandbox Code Playgroud)

我尝试生成并传递查询的结尾,而不只是传递变量。例如 :

String generatedQuery = "textValue LIKE %queryTerm1% AND textValue LIKE %queryTerm2% AND textValue LIKE %queryTerm3%";
tableDao.find(generatedQuery);
Run Code Online (Sandbox Code Playgroud)

并在@Dao中:

@Query("SELECT * FROM tableName WHERE :endQuery")
List<POJO> find(String endQuery);
Run Code Online (Sandbox Code Playgroud)

这似乎对我不起作用。您是否知道如何使用Room运行时生成的查询?

PS:

我已经调试了Dao实现,并查看了它正在运行的语句。这确认生成的查询信息和查询已正确传递。我认为这是SQL注入预防的问题(又是SQLITE问题,而不是Room问题) 在此处输入图片说明

java sqlite android android-sqlite android-room

1
推荐指数
1
解决办法
4739
查看次数